如何知道究竟什么函数抛出异常(Java)?

时间:2012-02-07 00:03:19

标签: java exception ioexception

我有两个函数(ServerSocket.accept()Socket.setSoTimeOut())抛出IOException和SocketException,它正在扩展IOException。

如果我捕获IOException,如何知道哪个函数抛出此异常? 我应该在单独的try / catch块上调用这些函数吗?或者有更合适的方法来做到这一点?

3 个答案:

答案 0 :(得分:1)

如何使用两个catch块,一个用于SocketException,另一个用于IOException。然后,您可以通过执行的catch块告知哪个方法调用失败。

注意:SocketException的catch块应该首先使代码有效并编译。

答案 1 :(得分:0)

使用Exception对象的getStackTrace()方法。

答案 2 :(得分:0)

我会将问题还给“我需要运行单独的逻辑以防哪个方法调用引发异常”?如果答案是肯定的,那么确实需要两个try / catch块。