如果我有一个(同步)进程写入在代码执行期间断开连接的套接字上的子流,那么防止它抛出异常的最佳方法是什么?
(我正在监听套接字的关闭/结束/等事件以从流中删除块,但这些事件处理程序在代码完成之前不会触发)
我应该这样做:
if (clientStream.stream) {
clientStream.write(bufferData);
} else {
console.log('*** Client FAILURE *****')
}
或使用try/catch?
try {
clientStream.write(bufferData);
} catch (err) {
console.log('*** Client FAILURE *****')
}
我知道 try/catch 很昂贵,但我没有找到任何有关检查 clientStream.stream 对象以验证它是否存在的信息。也许它已经像 stream.readyState 一样被弃用了?