刚开始使用Golang。我认为声明错误变量并在错误结构中使用它来确定出了什么问题是很习惯的,就像strconv.go中所做的那样。在那里,ErrRange并且ErrSyntax声明,并在适当的时候,对那些引用存储在NumError结构,当他们返回。我认为原因是因为NumError可以将存储在其中的错误的引用地址与ErrRange和ErrSyntax变量进行比较,以确定返回的错误类型。
ErrRange
ErrSyntax
NumError
是否有“标准”此类已声明的错误类型?例如,在Java中,您有类似的东西java.lang.IllegalArgumentException。例如,是否存在?ErrArgument或者ErrUnsupportedOperation我可以在自己的代码中使用它,而不必每次都创建相同含义的新错误变量?
java.lang.IllegalArgumentException
ErrArgument
ErrUnsupportedOperation
不,没有。仅提供可理解的错误,而不是一般性错误。IllegalArgument传输什么信息?不多,还不够。