trap 'on_error $LINENO' ERR on_error() { local exit_code=$? local line="$1" local cmd="${BASH_COMMAND}" log_error "Error (code: $exit_code)" log_error "Line: $line" log_error "Command: $cmd" exit "$exit_code" }