set -o errtrace trap 'err_handler $?' ERR err_handler() { trap - ERR let i=0 exit_status=$1 echo "Aborting on error $exit_status:" echo "--------------------" while caller $i; do ((i++)); done exit $? }