Go语言最佳实践——异常和错误

Go语言将错误和异常两者区分对待。

1、Go语言中处理错误的惯用法是将错误以函数或者方法最后一个返回值的形式将其返回,并总是在调用它的地方检查返回的错误值。

2、对于“不可能发生的事情”称为异常,可使用panic()函数向调用栈传播异常。何时使用recover()捕捉异常,何时让panic()继续传播呢?

2.1 自定义的包,最好不使用panic()。如果要使用,应该使用recover()捕捉异常并转换为一个错误值返回;

2.2 准备部署或发布程序时,应该使用recover()捕捉异常并转换为一个错误值返回并记录;

2.3 开发阶段可以使用panic()函数中断程序的执行以强制发生错误,使得该错误不会被忽略因而能够被尽快修复。