我有一个正在处理的库,并且进行了错误检查以确保用户不会向特定对象添加多个方法。
当用户中断此操作时,他们会收到错误,但是开发人员工具中的即时输出并未指出错误。它反而指向图书馆。错误链 显示用户错误,但需要展开箭头图标才能看到它
我想知道是否有办法编写指向用户直接错误的错误检查。
以下是一些要澄清的图片。
以下是我收到的错误
要查看堆栈跟踪的一部分,用户创建了错误,需要向下折叠箭头
相反,我希望错误看起来像这样:
答案 0 :(得分:0)
每当您调用库时,请将您的调用包装在try catch
子句中。
如:
图书馆API
{
method1,
method2,
...
methodN
}
用户代码
function doSomethingWithLibrary() {
try {
library.method2(x);
} catch (e) {
// library threw an error, handle it
}
}
这个想法不是用try-catch包装所有的库调用,因为这会对编译器优化产生负面影响。来自用户输入的一点输入清理,或者当您控制输入时,通常可以放弃try-catch以支持某些单元测试。
我还建议总是命名你的函数,匿名函数真的可以使调试比它需要的更复杂。我的第二个建议是将尽可能多的上下文信息放入抛出的错误中(函数名,库方法,提供的参数)