7.11 Discriminating Errors with Type Assertions
Consider the set of errors returned by file operations in the
os
package.
I/O can fail for any number of reasons, but three kinds of failure
often must be handled differently: file already exists (for create
operations), file not found (for read operations), and permission
denied.
The os
package provides these three helper functions to
classify the failure indicated by a given error
value:
package os func IsExist(err error) bool func IsNotExist(err error) bool func IsPermission(err error) bool
A naïve implementation of one of these predicates might check that the error message contains a certain substring,
func IsNotExist(err error) ...
Get The Go Programming Language now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.