【发布时间】:2019-01-05 07:38:31
【问题描述】:
我正在尝试测试 https 连接。 “try”正在执行,但“catch”没有缓存错误并按需要执行代码。
我正在使用 node.js
var https = require("https");
try {
https.get({host:'nonsecuredomain.com'}, function(res){});
}
catch(err) {
console.log('maybe an ssl error');
}
events.js:167 投掷者; // 未处理的“错误”事件 ^
Error: certificate has expired
at TLSSocket.onConnectSecure (_tls_wrap.js:1049:34)
at TLSSocket.emit (events.js:182:13)
at TLSSocket._finishInit (_tls_wrap.js:631:8)
Emitted 'error' event at:
at TLSSocket.socketErrorListener (_http_client.js:392:9)
at TLSSocket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
【问题讨论】:
-
可能是因为它是异步的。
-
对 https.get 的调用不会失败 - 因此 catch 块不会拾取它。您需要查看返回到您的空回调函数
function(res){})的响应,
标签: javascript