javascript - 如何检查 JavaScript 中的特定异常?

标签 javascript node.js exception error-handling

我正在编写一个 Node.js 应用程序,在其代码块之一内可能会引发各种异常(由我调用的第三方代码)。现在我想对这些异常使用react,因此我这样做:

try {
  // Call 3rd party code
} catch (e) {
  // Handle e
}

基本上,这工作正常,但是......我如何区分不同的异常?

不幸的是,它们都有 Error 作为构造函数,因此这不是可行的方法。我可以使用 message 属性,但当然这不是最好的方法(因为我依赖于消息永远不会改变的事实,这 - 恕我直言 - 比构造函数更改的可能性更大)。

有什么想法吗?

PS:具体来说 - 我需要在尝试执行 tls.connect 时对 SSL 错误使用react。如何检测这是 SSL 错误?

最佳答案

大多数包含在 javascript 错误对象中的系统级错误都会有一个 code 属性和 errno 您可以进行比较。该列表定义为 in uv.h in the node.js source code 。这可能是您的第二选择,首选是

  1. 尽可能的实例
  2. 代码errno
  3. 消息

但事实是有时您只需查看消息。鉴于 JavaScript 的动态和松散类型以及异常通常在 Node.js 中不起重要作用的事实,在某些情况下,检查消息是您能做的最好的事情。

关于javascript - 如何检查 JavaScript 中的特定异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341923/

相关文章:

java - 异常处理错误

node.js - Sequelize 无法连接到 MySql

node.js - 引用错误: sass is not defined

Java - 如何将一对 3 整数插入优先级队列?

c++ - Operator new 在有大量物理内存可用时抛出异常

node.js - 无法在云IDE中运行meteor,需要帮助了解meteor内存使用情况

javascript - 从对象数组中的字符串中查找数值并进行计算

javascript - 基于localStorage的 meteor 激活模板

javascript - 如何更改 Monaco Editor 上的显示语言

javascript - ReactJS - 如何动态更改 html 标记?