Golang:Golang处理错误信息或自定义错误信息

Golang处理错误信息或自定义错误信息

前言:在golang中,程序遇到错误后系统会抛出一个panic恐慌错误,会停止程序,中断程序执行,但是我们有的时候又不想程序错误后中断程序,那我们就要进行捕获错误信息并且处理

一.Golang处理错误信息

  • 捕获错误信息会用到defer还有recover,接下来我们看代码
  • 在sub01函数中发生了错误导致接下来的代码不会继续执行,我们加上defer,recover解决此现象在这里插入图片描述
  • 可以看到defer+recover捕获了错误信息,并且处理了错误信息,不会导致程序中断在这里插入图片描述

二.Golang自定义错误信息

  • 一般程序途中出错了,获得不到正确的值,而接下来的程序也没必要继续执行了,我们可以自定义错误信息进行返回给操作人员
  • 自定义错误信息我们会用上errors包
  • 可以看到用到errors包new方法可以自定义错误信息返回在这里插入图片描述

三.代码块

package main

import (
	"errors"
	"fmt"
)


func sub01() {
	// 加上defer recover 处理错误信息
	defer func() {
		// recover 会捕获异常 接收一个error类型
		err := recover()
		if err != nil {
			fmt.Println(err)
			fmt.Println("请速度处理错误,发送邮件给admin@163.com")
		}
	}()
	// 此函数会出现错误
	number01 := 100
	number02 := 0
	number03 := number01 / number02
	fmt.Println(number03)
}

func checkFile(name string) (err error) {
	if name == "conf.init" {
		fmt.Println("文件正确")
		err = nil
	} else {
		err = errors.New("文件正确,请上传正确文件!")
	}
	return err
}

func main() {
	// sub01()
	err := checkFile("conf.ini")
	if err != nil {
		panic(err)
	}
	fmt.Println("我们还会继续执行吗?~")
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值