diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index f7a682d891..04c5e0ba37 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -50,6 +50,7 @@ import javax.swing.JFrame; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.io.ByteArrayOutputStream; +import java.lang.reflect.UndeclaredThrowableException; import java.text.Collator; import java.util.ArrayList; import java.util.Collections; @@ -596,7 +597,11 @@ public abstract class DesignTableDataManager { } } catch (Exception e) { - throw new TableDataException(e.getMessage(), e); + String msg = e.getMessage(); + if (e instanceof UndeclaredThrowableException) { + msg = ((UndeclaredThrowableException) e).getUndeclaredThrowable().getMessage(); + } + throw new TableDataException(msg, e); } finally { ScheduledExecutorService scheduledExecutorService = ComponentUtils .getExecutor()