Go doesn't support try-catch, Instead Go coding style for error handling is to return an error along side the potential valid value. If an error accord the error will be set with implementation of the error interface, otherwise it will be set to nil.
See the flowing signature:
func Open(name string) (file *File, err error)
I would like to know what is the name of this "error handling" pattern.