Java Android-如何捕获特定异常,更改其消息,但将其他类型的异常保留在原始消息中
我试图在通过Internet发送数据时捕获这些类型的所有异常:Java Android-如何捕获特定异常,更改其消息,但将其他类型的异常保留在原始消息中,java,android,exception-handling,Java,Android,Exception Handling,我试图在通过Internet发送数据时捕获这些类型的所有异常: java.net.SocketException java.io.EOFException 每当出现这些异常之一时,我希望显示一条类似“无法发送数据。请稍后重试”的消息,而不是它们的原始消息。但如果异常来自其他类型,我希望保留原始消息 我在返回对象类型的函数中尝试过类似的方法 try { //send data, return data } catch( IOExcept
- java.net.SocketException
- java.io.EOFException
try {
//send data, return data
}
catch( IOException ioe){
return ioe;
}
catch (Exception e) {
return e;
}
当我最后要举杯时,我会做一些类似的事情:
if (requestObject instanceof String) {
//everything went alright
}
else if( requestObject instanceof IOException){
Toast.makeText(this, "Unable to send data. Please retry later", Toast.LENGTH_SHORT);
}
else if (requestObject instanceof Exception) {
Toast.makeText(this, ((Exception) requestObject).getMessage(), Toast.LENGTH_SHORT);
}
我可能尝试了错误类型的异常,因为toast会继续显示原始消息
如果您能帮助我,我真的很感激,我也尝试过其他解决方案,但没有成功。首先,IOException会同时处理java.net.SocketException和java.io.eofeException吗??因为不知怎的,我得到了一个信息,那些异常通常显示:S