如何捕获JVM_Bind异常:java.net.BindException:地址已在使用中

时间:2016-08-09 22:08:44

标签: java exception-handling

我怎样才能捕获Bind异常?我用了以下几行

try{
    //some code
}
catch (java.net.BindException e) {
    //some code
}

try{
    //some code
}catch (BindException e) {
    //some code
}

但他们都没有工作给我错误

`java.net.BindException: Address already in use: JVM_Bind
java.net.DualStackPlainSocketImpl.bind0(Native Method)
java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
java.net.ServerSocket.bind(ServerSocket.java:376)
java.net.ServerSocket.<init>(ServerSocket.java:237)
...

有人可以给我一个主意吗?在此先感谢:)

1 个答案:

答案 0 :(得分:-2)

您确定try块围绕引发异常的代码吗?我说,或者它不是,或者BindException在被抛出之前被其他Throwable包裹起来。在这种情况下,请尝试

try {
    // the problematic code
} catch (Throwable t) { // <--- here, Throwable
   // better log the error here
}