07panic recover 监听异常
go语言不像python,java有try,cathch,所以我们需要手动抛出 |
这是一个很经典的函数,我们都知道当除数为0时,肯定是除不了的,我们此时调用
fn1(10,0) |
我们便可以看到此时抛出了除数不为0的异常
panic
当然我们也可以手动的抛出
func fn1(a,b int) int{ |
此时的结果和上面的截图一样,程序抛出异常后就结束了导致我们后面的
fmt.Println(“10”)无法执行
recover
panic 可以在任何地方引发,但recover只有在defer调用的函数中有效,结合我们上一篇章的defer
func fn1(a,b int) int{ |
这样使用recover后我们后面的函数也能执行了
recover 与panic结合使用
func readFile(filename String) error { |
结果便是error:读取文件失败 ok
执行的逻辑也很好理解
panic抛出这个异常,recover接受到这个异常,恢复并打印出错误
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 不落虚`blog!
评论

