diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java index cf3066f9eb..4b91320829 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java @@ -65,6 +65,12 @@ public class LocalConnectionSource extends BaseConnectionSource { ConnectionProcessorFactory.addConnection(bean); } catch (DriverNotFoundException e) { throw new DriverUnExistException(); + } catch (RuntimeException e) { + if (e.getCause() instanceof DriverNotFoundException) { + throw new DriverUnExistException(); + } else { + throw e; + } } } @@ -82,6 +88,12 @@ public class LocalConnectionSource extends BaseConnectionSource { ConnectionProcessorFactory.updateConnection(bean.getConnectionName(), bean); } catch (DriverNotFoundException e) { throw new DriverUnExistException(); + } catch (RuntimeException e) { + if (e.getCause() instanceof DriverNotFoundException) { + throw new DriverUnExistException(); + } else { + throw e; + } } }