golang---panic和recover的用法

dncmn · · 638 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

在golang中对错误的处理,我这里是自己练习的总结。

1、将错误信息记录到日志里面

2、panic,然后利用recover函数进行异常捕获。(我这里仅仅是做了一个简单的例子,用来记录这个用法)

function A调用function B ,这里可以在 function A中使用recover也可以在function B中使用



*********************将日志信息保存到日志的代码****************************

//向登录日志里面写数据

//filename:为要保存日志的文件名

//content:为要向日志添加的内容

funcWrite_user_Info(filename,contentstring) {

file,err := os.OpenFile(filename,os.O_APPEND|os.O_RDWR|os.O_CREATE,0666)

iferr != nil {

log.Println("打开文件失败.....",err)

return

}

deferfile.Close()

usr_time := time.Now().Format("2006-01-02 15:04:05")

content = fmt.Sprint(usr_time,"  ",content,"\r\n")

_,err = file.WriteString(content)

iferr != nil {

log.Println("向日志中写数据失败.......",err)

return

}

}

*********************利用panic和recover函数****************************

funcTest_painc(T *testing.T) {

log.Println(getInt())

}

funcgetInt()int{

defer func()int{

iferr :=recover();err != nil {

log.Println(err)

}

log.Println("recover........continue")

return3

}()

log.Println("begin...........begin")

panic("hello panic")

}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:dncmn

查看原文:golang---panic和recover的用法

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

638 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传