[#2203] Handle SimulationException separately
This commit is contained in:
parent
a0b9093957
commit
2365ae2cb4
@ -619,7 +619,7 @@ SimuRunDlg.msg.branchErrorOccurred = An error occurred during simulation branch
|
|||||||
BasicEventSimulationEngine.error.noMotorsDefined = No motors defined in the simulation.
|
BasicEventSimulationEngine.error.noMotorsDefined = No motors defined in the simulation.
|
||||||
BasicEventSimulationEngine.error.activeLengthZero = Active airframe has length 0
|
BasicEventSimulationEngine.error.activeLengthZero = Active airframe has length 0
|
||||||
BasicEventSimulationEngine.error.cantCalculateStability = Can't calculate stability
|
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.noConfiguredIgnition = No motors configured to ignite at liftoff
|
||||||
BasicEventSimulationEngine.error.noIgnition = No motors ignited.
|
BasicEventSimulationEngine.error.noIgnition = No motors ignited.
|
||||||
BasicEventSimulationEngine.error.NaNResult = Simulation resulted in not-a-number (NaN) value, please report a bug.
|
BasicEventSimulationEngine.error.NaNResult = Simulation resulted in not-a-number (NaN) value, please report a bug.
|
||||||
|
@ -100,8 +100,8 @@ public class BasicEventSimulationEngine implements SimulationEngine {
|
|||||||
toSimulate.push(currentStatus);
|
toSimulate.push(currentStatus);
|
||||||
|
|
||||||
SimulationListenerHelper.fireStartSimulation(currentStatus);
|
SimulationListenerHelper.fireStartSimulation(currentStatus);
|
||||||
do{
|
do {
|
||||||
if( null == toSimulate.peek()){
|
if (toSimulate.peek() == null) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
currentStatus = toSimulate.pop();
|
currentStatus = toSimulate.pop();
|
||||||
@ -121,7 +121,7 @@ public class BasicEventSimulationEngine implements SimulationEngine {
|
|||||||
if (dataBranch.getLength() == 0) {
|
if (dataBranch.getLength() == 0) {
|
||||||
flightData.getWarningSet().add(Warning.EMPTY_BRANCH, dataBranch.getBranchName());
|
flightData.getWarningSet().add(Warning.EMPTY_BRANCH, dataBranch.getBranchName());
|
||||||
}
|
}
|
||||||
}while( ! toSimulate.isEmpty());
|
} while (!toSimulate.isEmpty());
|
||||||
|
|
||||||
SimulationListenerHelper.fireEndSimulation(currentStatus, null);
|
SimulationListenerHelper.fireEndSimulation(currentStatus, null);
|
||||||
|
|
||||||
@ -707,7 +707,7 @@ public class BasicEventSimulationEngine implements SimulationEngine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private FlightData computeCoastTime() {
|
private FlightData computeCoastTime() throws SimulationException {
|
||||||
try {
|
try {
|
||||||
SimulationConditions conds = currentStatus.getSimulationConditions().clone();
|
SimulationConditions conds = currentStatus.getSimulationConditions().clone();
|
||||||
conds.getSimulationListenerList().add(OptimumCoastListener.INSTANCE);
|
conds.getSimulationListenerList().add(OptimumCoastListener.INSTANCE);
|
||||||
@ -715,6 +715,8 @@ public class BasicEventSimulationEngine implements SimulationEngine {
|
|||||||
|
|
||||||
FlightData d = e.simulate(conds);
|
FlightData d = e.simulate(conds);
|
||||||
return d;
|
return d;
|
||||||
|
} catch (SimulationException e) {
|
||||||
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("Exception computing coast time: ", e);
|
log.warn("Exception computing coast time: ", e);
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user