Fix error handling in BOSHConnection

getCause() never throws. Not sure why the code was written that
way. Thanks to CSH for reporting.
This commit is contained in:
Florian Schmaus 2014-03-18 11:19:37 +01:00
parent 44a5408bc0
commit 9c8d7af3bf
1 changed files with 9 additions and 5 deletions

View File

@ -590,12 +590,16 @@ public class BOSHConnection extends XMPPConnection {
}
else {
if (connEvent.isError()) {
try {
connEvent.getCause();
}
catch (Exception e) {
notifyConnectionError(e);
// TODO Check why jbosh's getCause returns Throwable here. This is very
// unusual and should be avoided if possible
Throwable cause = connEvent.getCause();
Exception e;
if (cause instanceof Exception) {
e = (Exception) cause;
} else {
e = new Exception(cause);
}
notifyConnectionError(e);
}
connected = false;
}