Interview Scripting (Bash, Groovy)

How do you handle errors and provide a useful message on failure? [Intermediate]

Answer

For useful error handling, I fail fast, print clear messages to stderr, include context, preserve exit codes where needed, and validate inputs before doing destructive actions. I often use a die function and explicit checks around critical commands.

Technical explanation

Good errors say what failed, which input was involved, and what the operator can check next.

Logs and errors should go to stderr so stdout remains parseable for callers.

For scripts used in CI, failing with a nonzero code is as important as printing the message.

Hands-on example

die() { echo "ERROR: $*" >&2; exit 1; }

: "${ENVIRONMENT:?ENVIRONMENT is required}"

[[ "$ENVIRONMENT" =~ ^(dev|stage|prod)$ ]] || die "invalid env: $ENVIRONMENT"

kubectl config current-context >/dev/null || die "kubectl is not configured

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions