我正在使用HTML / Javascript网络套接字与python服务器程序进行通信。现在我可以选择通过干净的UI更改服务器的IP,并且我有一个处理连接错误的.onerror函数,但是这不会处理初始错误。我的意思是,如果我要输入一个完全无效的地址,它甚至不会尝试连接它(这很好)并且吐出并且错误如:[Error] WebSocket network error: The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 2.)
。我怎么能处理这个错误,所以我可以说,例如弹出一条消息?
以下是我的JS脚本的简要概述。
function updateDevice(id, ipUI){
if ("WebSocket" in window){
var ws = new WebSocket(serverIP);
// Here is where I need to handle the bad address right?
ws.onopen = function(){
ws.send(id);
};
ws.onmessage = function (evt){
var received_msg = evt.data;
};
// This function ws.onerror doesnt handle bad addresses.
ws.onerror = function(){
document.getElementById("error_msg").style.display='block';
};
}else{
alert("This site doesnt support your browser...");
};
};
答案 0 :(得分:1)
您可以将new WebSocket
包装在try / catch:
try {
new WebSocket(serverIP);
} catch (e) {
if (e instanceof DOMException) {
alert('Invalid address!');
} else {
throw e;
}
}