Provide a hint in NotConnectedException

that connect() needs to be called prior login().

SMACK-686
This commit is contained in:
Florian Schmaus 2015-07-29 08:20:46 +02:00
parent 38b8016ab7
commit 9884eee85d
2 changed files with 13 additions and 4 deletions

View File

@ -403,7 +403,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
*/
public synchronized void login() throws XMPPException, SmackException, IOException {
if (isAnonymous()) {
throwNotConnectedExceptionIfAppropriate();
throwNotConnectedExceptionIfAppropriate("Did you call connect() before login()?");
throwAlreadyLoggedInExceptionIfAppropriate();
loginAnonymously();
} else {
@ -584,8 +584,12 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
}
protected void throwNotConnectedExceptionIfAppropriate() throws NotConnectedException {
throwNotConnectedExceptionIfAppropriate(null);
}
protected void throwNotConnectedExceptionIfAppropriate(String optionalHint) throws NotConnectedException {
if (!isConnected()) {
throw new NotConnectedException();
throw new NotConnectedException(optionalHint);
}
}

View File

@ -1,6 +1,6 @@
/**
*
* Copyright 2014 Florian Schmaus
* Copyright 2014-2015 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -152,7 +152,12 @@ public class SmackException extends Exception {
private static final long serialVersionUID = 9197980400776001173L;
public NotConnectedException() {
super("Client is not, or no longer, connected");
this(null);
}
public NotConnectedException(String optionalHint) {
super("Client is not, or no longer, connected."
+ (optionalHint != null ? ' ' + optionalHint : ""));
}
}