javascript中返回错误的纯同步函数
我有一个纯函数,看起来像:javascript中返回错误的纯同步函数,javascript,error-handling,synchronous,Javascript,Error Handling,Synchronous,我有一个纯函数,看起来像: function foobar(str) { let newStr; // code that depends on str and forge a new string ... return newStr; } 现在,如果str不符合预期,我想提出一个错误。 我的错误是一个简单的对象,比如{code:'foo',msg:'bar'},我正在寻找从函数返回此错误的正确方法 我希望避免异常和承诺(因为它们是异步的),理想情况下,我希望此函数采
function foobar(str) {
let newStr;
// code that depends on str and forge a new string
...
return newStr;
}
现在,如果str
不符合预期,我想提出一个错误。我的错误是一个简单的对象,比如{code:'foo',msg:'bar'},我正在寻找从函数返回此错误的正确方法 我希望避免异常和承诺(因为它们是异步的),理想情况下,我希望此函数采用函数式编程风格。
有什么线索吗?如果需要避免异步和典型的错误处理,则需要函数返回一个对象,而不仅仅是一个字符串。对象可以具有属性
var returnObject = {
error: false,
value: "the string",
errorValue: "OK"
};
然后,每次调用函数时,它都需要首先检查returnObject.error的条件:
var getStringObj = foobar("string input");
if ( getStringObj.error ) {
// probably display getStringObj.errorValue
} else {
//normal handling
}
使用异常
抛出{code:'foo',msg:'bar'}代码>那么你只是想返回一个对象,还是真的抛出了一个错误?@jcubic的可能重复我不太喜欢异常,但如果没有其他选择…总有一个选项,如果你不想抛出,只需返回false
,或者一个对象,或者其他什么,只要在调用函数的任何地方检查返回的结果是否是字符串。