diff --git a/bosh/src/main/java/org/jivesoftware/smack/BOSHConnection.java b/bosh/src/main/java/org/jivesoftware/smack/BOSHConnection.java index b1b0af67b..382262e6c 100644 --- a/bosh/src/main/java/org/jivesoftware/smack/BOSHConnection.java +++ b/bosh/src/main/java/org/jivesoftware/smack/BOSHConnection.java @@ -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; }