在独立的XUL应用程序中,我想捕获server not found
异常。我试过检查onStateChange
的{{1}}事件中的状态,但这似乎不起作用。我的nsIWebProgressListener
事件实现如下所示。我假设如果onStateChange
或STATE_START
没有返回有效值,那么页面加载会出现问题,并向用户显示错误消息。
STATE_STOP
},
有人可以告诉我我做错了什么吗?提前谢谢。
答案 0 :(得分:2)
onStateChange
参数指示是否存在连接错误aStatus
。例如,您可以使用Components.isSuccessCode
:
if ((aFlag & STATE_STOP) && !Components.isSuccessCode(aStatus))
{
alert("Your connection seems to be down. Please confirm with your system admin.");
}
您还可以将aStatus
与Components.results.NS_ERROR_UNKNOWN_HOST
进行比较,该NS_ERROR_CONNECTION_REFUSED
对应于“未找到服务器”错误。如果连接断开,则可能存在许多其他错误,例如, NS_ERROR_UNKNOWN_PROXY_HOST
(连接失败),NS_ERROR_OFFLINE
(未找到代理),{{1}}(在离线状态下尝试连接)。您可以在nsNetError.h中找到完整的网络错误代码列表。