Java语法异常及其原因检测

Java语法异常及其原因检测,java,exception,ssl,Java,Exception,Ssl,我从SSLSocket获取一个DataInputStream,并从中读取字节。现在,有时我会收到连接超时,我需要通知用户这一点 javax.net.ssl.SSLException: Read error: ssl=0x64f40f88: I/O error during system call, Connection timed out 此外,有时我会得到“对等重设连接”,我也需要确定这一点 我目前只是检查异常的消息是否包含字符串“timed out”或“reset by peer”,但这感

我从SSLSocket获取一个DataInputStream,并从中读取字节。现在,有时我会收到连接超时,我需要通知用户这一点

javax.net.ssl.SSLException: Read error: ssl=0x64f40f88: I/O error during system call, Connection timed out
此外,有时我会得到“对等重设连接”,我也需要确定这一点


我目前只是检查异常的消息是否包含字符串“timed out”或“reset by peer”,但这感觉有点恶心。但是,在我看来,这个字符串检查是获取有关原因的更多信息的唯一方法?

大多数SSLexception都有“原因”属性。嗯,不确定我怎么会错过getCause()-方法。。。然而,在我的例子中,它似乎只返回null,所以我别无选择,只能检查字符串。我看到了同样的情况,我找不到它的根本原因。我的异常是以无效原因引发的。