我编写了一个包含许多异步函数的库。如果参数之一明显错误,则 SYNCHRONOUS 辅助函数会引发错误:
proto.makeParameters= function( filters ){
default:
throw( new Error("Field type unknown: " + fieldObject.type ) );
break;
}
在我的异步函数中,当我使用它时,我有:
proto.someAsyncFunction = function( cb ){
// Run the query
try {
var parameters = this.makeParameters( filters );
} catch( e ){
return cb( e );
}
}
所以:
异步函数永远不应该抛出是一种好习惯吗?(就像我一样)
现在,我正在捕捉所有错误。我应该更挑剔吗?也许弥补一个错误类型并检查它?如果是这样,在这两种情况下我该怎么办?