背景
使用的是pomelo框架开发,项目中需要对接口自定义异常捕获处理。
方案分析
方案有三个:
1、首先想到的是在函数上层调用try catch。但是上层调用是第三方框架中,需要侵入node module改写第三方代码。
2、使用装饰器改写函数,但装饰器现在还只是es7提案,现在node还不支持这个语法。
3、使用高阶函数在构造函数中对接口方法重新定义函数。
实现
综上,我使用了第三种方案,例子如下:
1 | class Test { |
输出结果:
log1
log2
可以看到成功对类中的函数捕获异常。