zoukankan      html  css  js  c++  java
  • 十五:GO语言的错误处理机制

    GO语言在默认情况下,当发生错误后(panic),程序就会退出(崩溃)

    如果希望在发生错误后,可以捕获到错误,并进行处理,保证程序可以继续执行,则需要使用GO语言的错误处理机制

    GO语言中的错误处理方式为:defer,panic,recover

    这三者的关系为,在程序出现错误的时候可以抛出一个panic的一场,然后在defer中通过recover来捕获这个异常,之后再进行相应处理,比如写错误日志或者给管理员发送一封错误邮件

    代码示例

    该函数在运行到17行的时候会报错,因为num2为0,无法进行运算,所以会报错

    输出结果

    这里可以看到,在main中调用该函数后,捕获异常并且正常输出,

    然后接着运行main函数中后面的代码

    自定义错误

      介绍:

      GO程序中,也支持自定义错误,使用errors.New和panic内置函数

      1.errors.New("错误说明"),会返回一个error类型的值,表示一个错误

      2.panic内置函数,接受一个interface{}类型的值(在GO语言中interface{}可以是任何值)作为参数,可以接受error类型的变量,输出错误信息,并退出程序  

      

     输出结果

    在程序中使用panic时,程序会被终止,并且输出传入panic函数中的参数内容

  • 相关阅读:
    Golang Channel用法简编
    一个有关Golang变量作用域的坑
    Goroutine是如何工作的
    Go语言是如何处理栈的
    Go与C语言的互操作
    Lua虚拟机初始化
    lua 函数调用 -- 闭包详解和C调用
    c++对象导出到lua
    nginx缓存设置proxy_cache
    golang中map并发读写问题及解决方法
  • 原文地址:https://www.cnblogs.com/WORDPAD/p/15133059.html
Copyright © 2011-2022 走看看