You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When performing a software-emergency stop (e.g. due to exiting the safe workspace region, defined in constants.h), the stop_all function currently calls std::exit. This behaviour is rather undesirable, as it leads to a std::system_error being thrown and prevents higher level-code from cleaning up.
I think it would be nicer to throw a custom exception that higher-level code can catch to clean up and print useful error messages. The current error message that is printed when violating workspace limits is:
terminate called after throwing an instance of 'std::system_error
what(): Resource deadlock avoided
which is rather misleading. A potential reason for this error could be this.
When performing a software-emergency stop (e.g. due to exiting the safe workspace region, defined in constants.h), the
stop_all
function currently calls std::exit. This behaviour is rather undesirable, as it leads to astd::system_error
being thrown and prevents higher level-code from cleaning up.I think it would be nicer to throw a custom exception that higher-level code can catch to clean up and print useful error messages. The current error message that is printed when violating workspace limits is:
which is rather misleading. A potential reason for this error could be this.
See also ROS guidelines about the use of
exit
The text was updated successfully, but these errors were encountered: