我正在学习Go编程语言。我刚刚了解了Go中的错误处理方式。有一个很好的解释,但是我对此有些困惑。 在Go中典型的处理错误的方式就是将错误作为函数的第二个返回值:
f, err := Sqrt(-1)
if err != nil {
fmt.Println(err)
}
非常简单。但是假设我是一个库开发人员,我可能想知道客户端是否可以抛出一些错误并且客户端必须处理它。
在Java中,我有“throws”子句。因此,客户端必须将其放入那些“try...catch”块中。
在Go中,我可以从函数中返回错误;但是,假设库的客户端避免处理它,那么我该如何优雅地告诉他处理它?
编辑:我只是在探索一种语言。不试图将Java的思想与Go混合,并尊重每个人的做法。我只是问因为我想知道是否有任何关键字,因为我还没有很好地学习Go。
throws
子句等价的功能。 - Jesper