error-handling workflows