后端错误处理?


比如说我写了个函数给别人用


 scan(req,function(){...});

但是他用的时候忘记传参了


 scan();

这样不是我期望的,
那么应该怎么处理:
1.文档约定。约定必须传正确的参数。
2.我在 scan 里抛错。
3.容错处理,即使他没传参,我也尽可能让程序不会出错。

很纠结,请问哪种方案最好?


再描述下具体情况:
req 即http请求,如果没有传这个参数,那么 scan 就没有任何意义,那么应该怎样处理比较合适?

异常 错误 node.js

卡明特 9 years, 8 months ago

要看这个函数的需求
- 如果这个函数可以设置默认参数的话,比如类似创建时间默认当前时间,这样当然最好
- 如果必须传入参数,比如打开文件,你如果设置一个默认值打开客户端不知道的地址,反而会出现严重的错误,这时候有两种办法:如果错误只有一种,且函数有返回值,可以返回null;如果函数是void的,或者客户端需要区分不同类型,这样就应该抛出不同类型的异常。

srxly answered 9 years, 8 months ago

Your Answer