0
点赞
收藏
分享

微信扫一扫

Golang——异常处理(panic、error、recover)的使用

闲嫌咸贤 2022-02-06 阅读 48

panic:

演示:

func main() {
	fmt.Println("panic执行前")
	panic("程序终止") // 走到这里整个程序会退出,后面的都不会执行
	fmt.Println("panic执行后")
}

error:

演示:

package main

import (
	"errors"
	"fmt"
)

func TestError(num1, num2 int) (result int, err error) {
	err = nil
	if num1 == 0 || num2 == 0 {
		fmt.Println("除数不能为0")
		return
	}
	result = num1 / num2
	return
}

func main() {
	num, err := TestError(10, 1)
	if err != nil {
		err = errors.New("除数不能为0")
	} else {
		fmt.Println(num)
	}
}

Unwrap:

recover错误拦截:

演示:

func main() {
	defer TestRecover()
	fmt.Println("panic执行前")
	panic("程序终止") 
	fmt.Println("panic执行后")
}

func TestRecover() {
	recover()
}
举报

相关推荐

0 条评论