我怎样才能捕获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)
...
有人可以给我一个主意吗?在此先感谢:)
答案 0 :(得分:-2)
您确定try
块围绕引发异常的代码吗?我说,或者它不是,或者BindException
在被抛出之前被其他Throwable
包裹起来。在这种情况下,请尝试
try {
// the problematic code
} catch (Throwable t) { // <--- here, Throwable
// better log the error here
}