我有两个函数(ServerSocket.accept()
和Socket.setSoTimeOut()
)抛出IOException和SocketException,它正在扩展IOException。
如果我捕获IOException,如何知道哪个函数抛出此异常? 我应该在单独的try / catch块上调用这些函数吗?或者有更合适的方法来做到这一点?
答案 0 :(得分:1)
如何使用两个catch块,一个用于SocketException,另一个用于IOException。然后,您可以通过执行的catch块告知哪个方法调用失败。
注意:SocketException的catch块应该首先使代码有效并编译。
答案 1 :(得分:0)
使用Exception对象的getStackTrace()方法。
答案 2 :(得分:0)
我会将问题还给“我需要运行单独的逻辑以防哪个方法调用引发异常”?如果答案是肯定的,那么确实需要两个try / catch
块。