[#2203] Handle SimulationException separately

This commit is contained in:
SiboVG 2023-05-07 22:51:41 +02:00
parent a0b9093957
commit 2365ae2cb4
2 changed files with 7 additions and 5 deletions

View File

@ -619,7 +619,7 @@ SimuRunDlg.msg.branchErrorOccurred = An error occurred during simulation branch
BasicEventSimulationEngine.error.noMotorsDefined = No motors defined in the simulation.
BasicEventSimulationEngine.error.activeLengthZero = Active airframe has length 0
BasicEventSimulationEngine.error.cantCalculateStability = Can't calculate stability
BasicEventSimulationEngine.error.earlyMotorBurnout = Motor burnout without liftoff.
BasicEventSimulationEngine.error.earlyMotorBurnout = <html>Motor burnout without liftoff.<br>Use more (powerful) motors, or decrease the rocket mass.</html>
BasicEventSimulationEngine.error.noConfiguredIgnition = No motors configured to ignite at liftoff
BasicEventSimulationEngine.error.noIgnition = No motors ignited.
BasicEventSimulationEngine.error.NaNResult = Simulation resulted in not-a-number (NaN) value, please report a bug.

View File

@ -101,7 +101,7 @@ public class BasicEventSimulationEngine implements SimulationEngine {
SimulationListenerHelper.fireStartSimulation(currentStatus);
do {
if( null == toSimulate.peek()){
if (toSimulate.peek() == null) {
break;
}
currentStatus = toSimulate.pop();
@ -707,7 +707,7 @@ public class BasicEventSimulationEngine implements SimulationEngine {
}
}
private FlightData computeCoastTime() {
private FlightData computeCoastTime() throws SimulationException {
try {
SimulationConditions conds = currentStatus.getSimulationConditions().clone();
conds.getSimulationListenerList().add(OptimumCoastListener.INSTANCE);
@ -715,6 +715,8 @@ public class BasicEventSimulationEngine implements SimulationEngine {
FlightData d = e.simulate(conds);
return d;
} catch (SimulationException e) {
throw e;
} catch (Exception e) {
log.warn("Exception computing coast time: ", e);
return null;