我有一个类ServerApi
,其方法为callApiA
、callApiB
、...
每个方法都会返回 ServerApiResponse 的子类。
与服务器的通信由 HttpClient
管理。
有很多事情可能会出错,例如:
- 服务器崩溃
- 没有互联网连接
- 超时
服务器也可以发送元响应,例如:
- session 已过期
- 服务器重载
现在我需要在一个地方处理所有这些情况。是否可以在所有callApiX
方法中捕获Exception
,并通过实例
方法检查异常类型来在一个地方处理它,或者是否有任何异常更好的解决方案?
... callApiA(...){
try{
...
} catch(Exception e){
return handleApiCallException(e);
}
}
... callApiB(...){
try{
...
} catch(Exception e){
return handleApiCallException(e);
}
}
...
... callApiX(...){
try{
...
} catch(Exception e){
return handleApiCallException(e);
}
}
... handleAPiCallException(Exception e){
if(e instance of IOException){
...
} else if(e instanceof ...){
...
} ...
}
最佳答案
当您捕获异常时,您并不总是想返回
某些内容。我会做类似的事情:
catch (IOException | AnotherException | ... e) {
//Handle exceptions here..
}
关于java - 在 Java 中以相同方式处理多个方法中的多个异常的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20353432/