当前位置: 首页 > news >正文

Go语言入门到入土——三、处理并返回异常

Go语言入门到入土——三、处理并返回异常


文章目录

  • Go语言入门到入土——三、处理并返回异常
  • 1. 在greetings.go中添加异常处理代码
  • 2. 在hello.go中添加日志记录代码
  • 3. 运行


1. 在greetings.go中添加异常处理代码

处理空输入的异常,代码如下:

package greetingsimport ("errors""fmt"
)// Hello returns a greeting for the named person.
func Hello(name string) (string, error) {// If no name was given, return an error with a message.if name == "" {return "", errors.New("empty name")}// If a name was received, return a value that embeds the name// in a greeting message.message := fmt.Sprintf("Hi, %v. Welcome!", name)return message, nil
}

2. 在hello.go中添加日志记录代码

记录空异常的日志代码如下:

package mainimport ("fmt""log""example.com/greetings"
)func main() {// Set properties of the predefined Logger, including// the log entry prefix and a flag to disable printing// the time, source file, and line number.log.SetPrefix("greetings: ")log.SetFlags(0)// Request a greeting message.message, err := greetings.Hello("")// If an error was returned, print it to the console and// exit the program.if err != nil {log.Fatal(err)}// If no error was returned, print the returned message// to the console.fmt.Println(message)
}

3. 运行

go run main.go

结果如下:

greetings: empty name
exit status 1

相关文章:

  • Python爬虫之线程、进程、协程详解
  • Python 实现日志备份守护进程
  • JavaScript模块化开发:CommonJS、AMD到ES模块
  • AUTOSAR图解==>AUTOSAR_SWS_CryptoDriver
  • blender里面的材质列表
  • JavaEE——线程安全
  • Java工具类——实体类列表写入excel
  • Java 工厂设计模式详解:用统一入口打造灵活可扩展的登录系统----掌握 Spring 源码的基础第一步
  • 【Semantic Kernel核心组件】Plugin:连接AI与业务逻辑的桥梁
  • EmbeddingBag介绍与案例
  • Android问题整理
  • 数据加盐/加密
  • CentOS 中安装 vim
  • qt中关于思源雅黑字体的使用
  • OpenCV 图形API(43)颜色空间转换-----将 BGR 图像转换为 LUV 色彩空间函数BGR2LUV()
  • 《vue3学习手记4》
  • 《前端面试题之 Vue 篇(第二集)》
  • await 在多线程,子线程中的使用
  • 大模型赋能工业制造革新:10个显效可落地的应用场景
  • 字符设备驱动程序的另一种注册方法
  • 5.19中国旅游日,上海56家景区景点限时门票半价
  • 巴称巴控克什米尔地区11人在印方夜间炮击中身亡
  • 上海劳模风采馆焕新升级后重新开放,展示480位劳模先进故事
  • 昆明一学校门外小吃摊占满人行道,城管:会在重点时段加强巡查处置
  • 被取消总统候选人资格,金文洙:将采取政治法律措施讨回公道
  • 昆明阳宗海风景名胜区19口井违规抽取地热水,整改后用自来水代替温泉