Skip to content

defer-close-before-error-check

Detect deferred Close calls scheduled before checking acquisition errors.

Updated View as Markdown

Default severity: error

A resource-returning call may yield an unusable or nil value when it also returns an error. Check the error before deferring Close on the resource.

Bad

file, err := os.Open(path); defer file.Close(); if err != nil { return err }

Good

file, err := os.Open(path); if err != nil { return err }; defer file.Close()
Navigation

Type to search…

↑↓ navigate↵ selectEsc close