异常

作者: BridgeXD | 来源:发表于2019-04-18 08:24 被阅读0次

1、error接口

func foo(param int)(ret int, err error)
{
   error := errors.New("发生错误咯")
    ...  
} 

//调用
n, err := foo(0)
if err != nil {
    //  错误处理
} else {
    // 使用返回值n
}

2、defer

你可以在Go函数中添加多个defer语句,当函数执行到最后时,这些defer语句会按照逆序执行(即最后一个defer语句将最先执行),最后该函数返回。

  • 注意,defer语句是在return之后执行的

    func test() (result int) {
      defer func() {
      result = 12
    }()
      return 10
    }
    
    func main() {
      fmt.Println(test())     // 12
    }
    

3、panic() recover()

  • panic()函数用于抛出异常,
  • recover()函数用于捕获异常
func foo() {
    panic(errors.New("i'm a bug"))
    return
}

func test() (result int) {
  defer func() {
      //错误拦截 panic异常错误
      if r := recover(); r != nil {
        err := r.(error)
        fmt.Println("Cache Exception:", err)
    }
  }()
  foo()
  return 10
}

func studyError() {
  fmt.Println(test()) // 0
}

相关文章

  • 异常和模块

    异常 目标 了解异常 捕获异常 异常的else 异常finally 异常的传递 自定义异常 一. 了解异常 当检测...

  • python多线程

    异常基础知识 -异常简介: 运行时错误 -异常类: 异常数据 异常名称,异常数据,异常类型 -自定义异常 clas...

  • dart 异常

    dart中的异常 异常处理 抛出异常 异常捕获

  • Java基础之异常

    Java基础之异常 目录 异常简单介绍 ThrowableErrorException 异常分类 如何处理异常异常...

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • motan(RPC)系统梳理知识点

    异常分类: 业务异常(bizException) 服务异常(serviceException) 框架异常(fram...

  • 异常

    Java异常体系 异常的分类 Java的异常分为两大类:Checked异常和Runtime异常(运行时异常)。所有...

  • 从零构架个人博客网站(二)-全局异常处理

    中间件的异常 全局异常中间件全局异常监听定义异常的返回结果定义常见的异常状态开发环境 异常查看 对于异常,我们可以...

  • Node.js异常处理

    Node.js异常分类: 变量异常 函数异常 调用异常 变量异常 未定义变量 未包含对象 变量类型错误 函数异常 ...

  • python 异常

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释...

网友评论

      本文标题:异常

      本文链接:https://www.haomeiwen.com/subject/veiawqtx.html