The first phases of herd should behave as follows:
When some operation fails by raising some exception, the general rule is to delay the failure, hoping that the corresponding candidate execution will be eliminate when solving equations.
However, this behaviour may complicate debugging. Hence the command line option -debug exception replace it with immediately raising the exception.
This PR generalises the expected behaviour.
Notice that exceptions used for controlling herd engine (Undetermined, Contradiction and Timeout) follow their own rules
The first phases of herd should behave as follows:
When some operation fails by raising some exception, the general rule is to delay the failure, hoping that the corresponding candidate execution will be eliminate when solving equations.
However, this behaviour may complicate debugging. Hence the command line option
-debug exception
replace it with immediately raising the exception.This PR generalises the expected behaviour.
Notice that exceptions used for controlling herd engine (Undetermined, Contradiction and Timeout) follow their own rules