首页 > 其他分享 >Go语言异常处理:自定义错误【errors.New+panic】

Go语言异常处理:自定义错误【errors.New+panic】

时间:2024-05-13 11:29:55浏览次数:16  
标签:errors 自定义 err fmt Go New panic

程序本身抛出的异常信息不是太友好,我们可以自定义错误或者异常的信息,需要使用errors包中的New函数来包装一下异常或错误信息; 在使用内置函数panic(err),把异常信息后面的程序执行终止掉,因为再执行后面的程序也没有意义了。   package main
import "fmt" import "errors"
func main()  {     err := test()     if err !=nil {         fmt.Println("自定义错误:", err)         panic(err)     }     fmt.Println("===1===除法操作执行成功")     fmt.Println("===2===继续执行后面的逻辑") }
 func test()(err error){     num1 := 10     num2 := 0     if num2 == 0 {         //抛出自定义错误:         return errors.New("除数不能为零!")     }else{         result := num1 / num2         fmt.Println(result)         // 如果没有错误,就返回nil值         return nil     }      }

标签:errors,自定义,err,fmt,Go,New,panic
From: https://www.cnblogs.com/heyi-77/p/18188890

相关文章

  • Tomcat中为什么要使用自定义类加载器
    Tomcat使用自定义类加载器主要是基于以下几个关键原因:1.应用隔离:Tomcat作为一个Web容器,能够同时部署和运行多个Web应用程序。每个应用可能依赖不同的库版本或者包含同名类,为了确保每个应用的类库相互独立,避免类冲突,Tomcat为每个Web应用提供了一个独立的类加载器实例,即`WebAppC......
  • Tomcat中为什么要使用自定义类加载器
    Tomcat使用自定义类加载器主要是基于以下几个关键原因:1.应用隔离:Tomcat作为一个Web容器,能够同时部署和运行多个Web应用程序。每个应用可能依赖不同的库版本或者包含同名类,为了确保每个应用的类库相互独立,避免类冲突,Tomcat为每个Web应用提供了一个独立的类加载器实例,即`WebAppC......
  • SQL Server实战七:自定义数据类型、标量值、内嵌表值、多语句表值函数的操作
      本文介绍基于MicrosoftSQLServer软件,实现数据库用户自定义数据类型的创建、使用与删除,以及标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除方法。目录1用SQL语句创建一个用户定义的数据类型Idnum2使用Idnum创建学生表STUDENT与教师表TEACHER3交互式......
  • ubuntu安装go
    获取安装包,wget后面的下载链接请去golang官网(https://golang.google.cn/dl/)获取你想下载的对应go版本sudowgethttps://golang.google.cn/dl/go1.18.5.linux-amd64.tar.gz#解压文件sudotarxfzgo1.18.5.linux-amd64.tar.gz-C/usr/local修改~/.profile或~/.bashrc......
  • golang 压缩包解压问题汇总
    解压代码packagemainimport( "archive/zip" "bytes" "fmt" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io" "io/ioutil" "os" "path/......
  • Dockerfile - build zgrpc-go-professionals:server
     FROM--platform=$BUILDPLATFORMalpineasprotocARGBUILDPLATFORM=linux/amd64TARGETOS=linuxTARGETARCH=amd64#downloadtheprotocbinaryfromgithub#Weunzipthefileinto/usr/local.Noticethatweareextractingboththeprotoc#binary(/bin/pr......
  • go高并发之路——缓存穿透、缓存雪崩
    缓存击穿、缓存穿透、缓存雪崩是使用Redis的三个经典问题,上篇文章讲了缓存击穿,今天就讲下剩下的两个问题。一、缓存穿透定义:缓存穿透是指查询一个根本不存在的数据,缓存层和DB层都不会命中。这样缓存永远不会生效,这些请求最终都会访问数据库。引起DB的压力瞬间变大,导致服务不可用......
  • 2024年,Rust和Go学习哪个更有优势
    在编程语言的世界里,技术的更新迭代速度一直都是非常快的。而在2024年这个特殊的年份,Rust和Go这两门编程语言备受关注,成为了许多程序员学习的焦点。那么,在这两者之间,到底该选择学习哪个,才能更具优势呢?本文将从各个方面分析比较Rust和Go,帮助读者更好地做出决策。1.语言特性比较Ru......
  • Django - Rest Framework 框架
    目录DRF的安装与配置序列化类SerializerDRF的安装与配置为了简化API的开发过程,我们可以使用DjangoRestFramework框架实现API开发。使用框架开发不仅能减少代码冗余,还可以规范代码的编写格式,这对企业级开发来说很有必要,毕竟每个开发人员的编程风格存在一定的差异,开发规范可......
  • 自定义函数在LCD上显示一张不超过LCD像素大小的色深为 24bit的bmp图片
    设计程序实现在LCD上任意位置显示一张任意大小的色深为24bit的bmp图片,要求图像不失真可以在开发板的LCD上显示。头文件包含#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<sys/mman.h>#include<linux/......