codenameone:如何显式处理异常 java.net.ConnectionException
codenameone: how to handle exception java.net.ConnectionException explicitly
codenameone:如何显式处理异常 java.net.ConnectionException
我想在处理异常时处理异常 explicitly.Currently 它首先隐式处理,其中 detail.I 在屏幕上显示异常消息不想在屏幕上详细显示错误消息(弹出对话框) .
现在它显示异常 Java.net.Connection Exception: Connection refused for URL http:localhost/login connection refused.instead of this message 我只想在 pop 上显示 "connection refused" 消息-向上对话框
你能告诉我如何解决它吗?
在移动设备上,错误可能与模拟器上的错误完全不同,因为我们处理的是表面之下的本机 API。请参阅 networking section in the developer guide:
的错误处理部分
有两个不同的地方可以处理网络错误:
ConnectionRequest
- 通过覆盖回调方法
NetworkManager
错误处理程序
请注意,NetworkManager
错误处理程序优先,因此您可以通过使用错误来定义网络错误处理的全局策略。
例如如果我想阻止所有网络错误向用户显示任何内容,我可以这样做:
NetworkManager.getInstance().addToQueue(request);
NetworkManager.getInstance().addErrorListener((e) -> e.consume());
错误侦听器首先调用与错误匹配的 NetworkEvent。使用该事件可防止它进一步传播到链中的 ConnectionRequest 回调中。
我们还可以覆盖请求中各种类型的错误回调,例如对于服务器错误代码,我们可以这样做:
ConnectionRequest request = new ConnectionRequest(url, false) {
protected void handleErrorResponseCode(int code, String message) {
if(code == 444) {
// do something
}
}
protected void handleException(Exception err) {
// handle exception that occurred. Notice you can either have this or have the listener on the NetworkManager
}
protected void readResponse(InputStream input) {
// just read from the response input stream
}
};
NetworkManager.getInstance().addToQueue(request);
codenameone:如何显式处理异常 java.net.ConnectionException 我想在处理异常时处理异常 explicitly.Currently 它首先隐式处理,其中 detail.I 在屏幕上显示异常消息不想在屏幕上详细显示错误消息(弹出对话框) . 现在它显示异常 Java.net.Connection Exception: Connection refused for URL http:localhost/login connection refused.instead of this message 我只想在 pop 上显示 "connection refused" 消息-向上对话框
你能告诉我如何解决它吗?
在移动设备上,错误可能与模拟器上的错误完全不同,因为我们处理的是表面之下的本机 API。请参阅 networking section in the developer guide:
的错误处理部分有两个不同的地方可以处理网络错误:
ConnectionRequest
- 通过覆盖回调方法NetworkManager
错误处理程序
请注意,NetworkManager
错误处理程序优先,因此您可以通过使用错误来定义网络错误处理的全局策略。
例如如果我想阻止所有网络错误向用户显示任何内容,我可以这样做:
NetworkManager.getInstance().addToQueue(request);
NetworkManager.getInstance().addErrorListener((e) -> e.consume());
错误侦听器首先调用与错误匹配的 NetworkEvent。使用该事件可防止它进一步传播到链中的 ConnectionRequest 回调中。
我们还可以覆盖请求中各种类型的错误回调,例如对于服务器错误代码,我们可以这样做:
ConnectionRequest request = new ConnectionRequest(url, false) {
protected void handleErrorResponseCode(int code, String message) {
if(code == 444) {
// do something
}
}
protected void handleException(Exception err) {
// handle exception that occurred. Notice you can either have this or have the listener on the NetworkManager
}
protected void readResponse(InputStream input) {
// just read from the response input stream
}
};
NetworkManager.getInstance().addToQueue(request);