Always return and propagate errors; surface them to callers and the UI, and clean up resources on error paths.

Motivation

Rules

When to log vs return

Benefits

References: discussions 0, 1, 2, 3.