我的课程ServerApi
包含方法callApiA
,callApiB
,...
每个方法都返回ServerApiResponse
的子类。
与服务器的通信由HttpClient
管理。
有很多事情可能出错,例如:
服务器也可以发送元响应,例如:
现在我需要在一个地方处理所有这些情况。是否可以在所有Exception
方法中捕获callApiX
,并通过instance of
方法检查异常类型在一个地方处理它,还是有更好的解决方案?
... 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 ...){
...
} ...
}
答案 0 :(得分:4)
当您抓住 例外时,您并不总是希望return
。我会做那样的事情:
catch (IOException | AnotherException | ... e) {
//Handle exceptions here..
}