Golang 中断程序

优质
小牛编辑
149浏览
2023-12-01

Go 语言中提供了一个叫做 panic 函数,用于发生异常时终止程序继续运行

package main
import "fmt"
func div(a, b int) (res int) {
	if(b == 0){
		//一旦传入的除数为0, 程序就会终止
		panic("除数不能为0")
	}else{
		res = a / b
	}
	return
}
func main() {
	res := div(10, 0)
	fmt.Println(res)
}

Go 语言中有两种方式可以触发 panic 终止程序

  • 我们自己手动调用 panic 函数
  • 程序内部出现问题自动触发 panic 函数
package main
import "fmt"
func main() {
	// 例如:数组角标越界, 就会自动触发panic
	var arr = [3]int{1, 3, 5}
	arr[5] = 666 // 报错
	fmt.Println(arr)

	// 例如:除数为0, 就会自动触发panic
	var res = 10 / 0
	fmt.Println(res)
}

除非是不可恢复性、导致系统无法正常工作的错误,否则不建议使用 panic