Skip to content

defer-close-before-error-check

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.

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