捕获“未找到服务器”例外

时间:2012-05-13 10:25:34

标签: exception-handling xul xulrunner

在独立的XUL应用程序中,我想捕获server not found异常。我试过检查onStateChange的{​​{1}}事件中的状态,但这似乎不起作用。我的nsIWebProgressListener事件实现如下所示。我假设如果onStateChangeSTATE_START没有返回有效值,那么页面加载会出现问题,并向用户显示错误消息。

STATE_STOP

},

有人可以告诉我我做错了什么吗?提前谢谢。

1 个答案:

答案 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.");
}

您还可以将aStatusComponents.results.NS_ERROR_UNKNOWN_HOST进行比较,该NS_ERROR_CONNECTION_REFUSED对应于“未找到服务器”错误。如果连接断开,则可能存在许多其他错误,例如, NS_ERROR_UNKNOWN_PROXY_HOST(连接失败),NS_ERROR_OFFLINE(未找到代理),{{1}}(在离线状态下尝试连接)。您可以在nsNetError.h中找到完整的网络错误代码列表。

相关问题