Actually, neither of the answers above traps the ssh error code and message, which could be done as follows (ignore my custom functionsvars & funcs):
# move the deployment package from the tmp dir
msg=$(ssh -i "$(eval echo $identity_file)" -o ConnectTimeout=5 "$ssh_user"'@'"$ssh_server" \
sudo -iu "$etl_user" bash "$tgt_deployment_dir"'/src/bash/'"$run_unit/$run_unit"'.sh' \
-a create-relative-package 2>&1)
# fail on any non-success
export exit_code=$?
export err_msg="network error: ""$msg"
test $exit_code -ne 0 && doExitecho $exit_code"$err_msg" $err_msg&& exit $exit_code