diff --git a/org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/MqttException.java b/org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/MqttException.java
index 880d9f17..dc843960 100644
--- a/org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/MqttException.java
+++ b/org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/MqttException.java
@@ -222,7 +222,12 @@ public Throwable getCause() {
* @return the detail message, which may be null.
*/
public String getMessage() {
- return MessageCatalog.getMessage(reasonCode);
+ String details = MessageCatalog.getMessage(reasonCode);
+ if (details == null || details.isEmpty()) {
+ return "MqttException (" + reasonCode + ")";
+ } else {
+ return details + " (" + reasonCode + ")";
+ }
}
/**
@@ -230,7 +235,7 @@ public String getMessage() {
* @return a String representation of this exception.
*/
public String toString() {
- String result = getMessage() + " (" + reasonCode + ")";
+ String result = getMessage();
if (cause != null) {
result = result + " - " + cause.toString();
}