如何检查JavaScript中的特定异常
How to check for a specific exception in JavaScript?
我正在编写一个Node.js应用程序,并且在其代码块之一中可能会抛出各种异常(由我调用的第三方代码)。现在我想对这些异常作出反应,因此我这样做:
try {
// Call 3rd party code
} catch (e) {
// Handle e
}
基本上,这工作得很好,但是…如何区分不同的例外?
不幸的是,它们都有Error
作为构造函数,因此这不是可行的方法。我可能会使用message
属性,但这当然不是最好的方式(因为我依赖于消息永远不会更改的事实,这比构造函数更改的可能性更大)。
任何想法?
PS:具体地说-我需要在尝试做tls.connect
时对SSL错误作出反应。如何检测SSL错误?
大多数系统级错误包装成javascript错误对象将具有code
属性和errno
,您可以比较。该列表在node.js源代码的uv.h中定义。这可能是你的第二选择,首选项是
- instanceof where possible
-
code
或errno
-
message
但事实是,有时你只需要看看message
。考虑到javascript的动态和松散类型,以及异常通常不会在node.js中扮演重要角色的事实,在某些情况下,检查消息是你能做的最好的事情。
我不建议在Node中使用try/catch结构,因为我认为由于Node的异步性质(除非您使用基本的同步代码),它不会工作。
假设您正在使用异步函数/包,您可能会更幸运地检查回调函数中的err状态。
相关文章:
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- 转换异常时间&Datestring到JavaScript日期
- 为什么在python中使用异常比javascript更容易接受
- 点击谷歌结果页面时,HtmlUnit中出现JavaScript异常
- 未捕获的运行时JavaScript异常(Rhino)
- JavaScript异常:“;不成形”;在firefox浏览器上;XMLHttpRequest"chrome浏
- 在Javascript中对具有特定异常的对象数组进行排序
- 未处理的 JavaScript 异常终止 MSAppHost/WWAHost.exe
- Javascript 异常 “参数名称: 索引” 使用 jquery
- IE 在 JavaScript 中抛出了一个关于 “self = this” 的异常
- Javascript 中的 SharePoint 2010 拍卖页面行为异常
- 在 JavaScript 中抛出多个异常
- JavaScript正则表达式异常
- 测试JavaScript是否符合异常变量名
- JavaScript 异常处理未按预期工作
- Facebook PHP+JavaScript-在页面加载之前导航时出现异常
- 带有Javascript异常的HtmlDriver
- 自定义抛出异常JavaScript的错误消息
- Web服务异常Javascript DWR
- Firefox异常'JavaScript组件没有名为:"available"'的方法