- 错误
- error
- 自己定一个错误
- 2.异常
- panic
- recover
错误
- 错误是在程序中预期会发生的结果,预料之中
error
* 在代码中显示检查错误,而非忽略错误
func main() {//打开一个没有的文件,file,error:=os.Open("aaa.txt")if error != nil {fmt.Println(error) //open aaa.txt: The system cannot find the file specified.return}fmt.Println(file.Name())}
自己定一个错误
* errors.New("xxx")* fmt.Error
//设置的数字小于0 提示不合法func setAge(age int)error{if age<0 {return errors.New("不合法")}return nil}func main() {age :=setAge(-1)if age!=nil{fmt.Println(age)}}
2.异常
panic
* 异常:不该出现问题的地方出现了问题,预料之外* 程序遇到painc会强制结束* defer延迟函数
func main() {//defer延迟执行defer fmt.Println("aa")fmt.Println("123")//遇到panic终止程序前会先执行完deferpanic("异常结束")}
recover
* recover结合defer处理panic异常
func main() {//defer延迟执行defer func() {if msg := recover(); msg != nil {fmt.Println("recover执行了... panic msg:", msg)// 处理逻辑fmt.Println("---------程序已恢复----------")}}()defer fmt.Println("aa")defer fmt.Println("bb")fmt.Println("123")//遇到panic终止程序时会先执行完deferpanic("遇到异常")}
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论