diff --git a/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java b/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java index a59d15faf..446253e90 100644 --- a/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java +++ b/designer-realize/src/main/java/com/fr/start/LifecycleFatalErrorHandler.java @@ -11,11 +11,11 @@ import com.fr.exit.DesignerExiter; import com.fr.general.IOUtils; import com.fr.io.utils.ResourceIOUtils; import com.fr.log.FineLoggerFactory; -import com.fr.process.ProcessEventPipe; import com.fr.process.engine.core.CarryMessageEvent; import com.fr.process.engine.core.FineProcessContext; import com.fr.stable.StableUtils; import com.fr.stable.lifecycle.ErrorType; +import com.fr.stable.lifecycle.ErrorTypeHelper; import com.fr.stable.lifecycle.FineLifecycleFatalError; import com.fr.stable.project.ProjectConstants; @@ -34,13 +34,7 @@ public class LifecycleFatalErrorHandler { private Map map = new HashMap<>(); private LifecycleFatalErrorHandler() { - for (ErrorType type : ErrorType.values()) { - if (ErrorType.FINEDB.equals(type)) { - map.put(type, FineDBHandler.SELF); - } else { - map.put(type, DefaultHandler.SELF); - } - } + map.put(ErrorTypeHelper.FINEDB, FineDBHandler.SELF); } public static LifecycleFatalErrorHandler getInstance() { @@ -50,7 +44,12 @@ public class LifecycleFatalErrorHandler { public void handle(FineLifecycleFatalError fatal) { SplashContext.getInstance().hide(); FineProcessContext.getParentPipe().fire(new CarryMessageEvent(ReportState.STOP.getValue())); - map.get(fatal.getErrorType()).handle(fatal); + + Handler handler = map.get(fatal.getErrorType()); + if (handler == null) { + handler = DefaultHandler.SELF; + } + handler.handle(fatal); } interface Handler {