When an exception is raised in a task using the sequential executor in colcon_core, the executor stops processing jobs immediately regardless of the on_error behavior and returns 1.
In the parallel executor, it seems that exceptions are treated the same as a non-zero exit code and on_error is used to determine the behavior.
The resulting error message in the colcon executor code makes it sound like the exception originated from an error in the executor itself, but the return code does eventually get changed to 1 to match the sequential executor. Regardless, the on_error behavior difference is noteworthy.
When an exception is raised in a task using the sequential executor in
colcon_core, the executor stops processing jobs immediately regardless of theon_errorbehavior and returns1.In the parallel executor, it seems that exceptions are treated the same as a non-zero exit code and
on_erroris used to determine the behavior.The resulting error message in the colcon executor code makes it sound like the exception originated from an error in the executor itself, but the return code does eventually get changed to
1to match the sequential executor. Regardless, theon_errorbehavior difference is noteworthy.