首页 > 其他 > 详细

10,golang 错误处理,panic终止程序执行慎用

时间:2019-09-09 01:09:47      阅读:103      评论:0      收藏:0      [点我收藏+]
package main

import (
"errors"
"fmt"
"io/ioutil"
)

type error interface{
Error() string
}

/*
golang中错误处理,在golang中错误是一种类型,默认如果没有发生错误,返回的错误值讲为nil
if err !=nil{
something went wrong
}
golang 的错误类型error 可以像其他一样在函数之间传递错误
panic 让golang程序马上停止执行,慎用。除非极端情况程序将带来很多问题或者发生了无法处理的错误

if err!=nil{
panic(err)
}
golang 语言不支持 try --catch--finally控制结构
*/

func main(){
var file []byte
var err error
file,err =ioutil.ReadFile("foo.txt")
if err!=nil{
fmt.Println("111")
fmt.Println(err)
return
}
fmt.Println(string(file)) //文件中读出来的字符串是一个byte类型的数组 []byte,需要string转换成文字

err1 :=errors.New("Something went wrong")
if err1 !=nil{
fmt.Println(err1)
}
panic("oh no ican do no more.Goodby") //panic可以导致程序立即停止执行,慎用

name,role:="Richard Jupp","Drummer"
err2:=fmt.Errorf("The %v ,%vquit",role,name)
if err2!=nil{
fmt.Println(err2)
}


}

func Half(numberToHalf int)(int,error){
if numberToHalf%2 !=0 {
return -1, fmt.Errorf("Cannot half %v", numberToHalf)
}
return numberToHalf/2,nil
}

10,golang 错误处理,panic终止程序执行慎用

原文:https://www.cnblogs.com/iifeng/p/11488996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!