美文网首页
错误与恢复

错误与恢复

作者: Caesar_emperor | 来源:发表于2019-09-26 09:24 被阅读0次

panic和recover

一.声明
func panic(interface{}) //尽量少用
func recover()interface{}

二.panic
1)error
定义:
接口的定义如下:

type error interface{   
    Error() string

对于大部分函数来说,返回错误基本上都可以定义为:

func FOO(param int)(n int,err error){
    ... ...
}

一般使用

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

底层使用:
这里暂不做介绍

2)panic(当出现不可修复性错误的情况下使用, 可以中断原有的控制流程)

如判断登录用户是否是root

var user = os.Getenv("USER")
func  isRoot(){
     if user!="root"{
        panic("no value for $USER")
    }
}

三.recover(从panic状态恢复回来,但只在defer内直接调用才有效)

func main(){
    test()
}
func test(){
    defer func(){
        fmt.Println(recover())    
    }()
}

**其余用法,如:defer函数内的嵌套函数间接调用recover,或defer直接调用defer都是返回nil, 无效的

相关文章

  • 错误与恢复

    panic和recover 一.声明func panic(interface{}) //尽量少用func reco...

  • 第四章第8节 LR分析中的错误处理

    LR分析中的错误处理 恐慌模式错误恢复 短语层次错误恢复

  • Swift - Error Handing

    响应错误以及从错误中恢复的过程 抛出、捕获、传递、操作可回复错误 表示与抛出错误 Swift 中,错误用遵循 Er...

  • Swift学习笔记-错误处理

    错误分为可恢复的错误和不可恢复的错误,可恢复的错误指的是能预见并处理的错误,例如文件不存在,网络连接失败等;不可恢...

  • Rust for cpp devs - 错误处理

    Rust 将软件中的错误分为两个类型:可恢复错误和不可恢复错误。 对于可恢复错误,例如文件找不到,可以报告给调用者...

  • 18_错误处理

    错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的...

  • Swift - 错误处理

    错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的...

  • Swift错误处理

    错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的...

  • OneDayOneSwift[18] - Error Handl

    错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的...

  • OneDayOneSwift[25] - Advanced Op

    错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的...

网友评论

      本文标题:错误与恢复

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