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

成都网站建设四川冠辰网站建设笑话 语录用什么网站做

成都网站建设四川冠辰网站建设,笑话 语录用什么网站做,研究网站平台建设工作动态,零起飞网站建设工作室1、异常场景 网络故障硬件故障组件故障输入错误逻辑错误链路调度错误 2、异常处理方式 # python或者java异常处理 try 可能出现的错误 catch对错误进行处理 xxx,err : 代码 if err ! nil {代码出现错误#xff0c;需要做处理 }3、自定义错误 有两种方法#xff1a;1、通过…1、异常场景 网络故障硬件故障组件故障输入错误逻辑错误链路调度错误 2、异常处理方式 # python或者java异常处理 try 可能出现的错误 catch对错误进行处理 xxx,err : 代码 if err ! nil {代码出现错误需要做处理 }3、自定义错误 有两种方法1、通过errors包中的errors.New方法定义。 2、通过fmt.Errorf方法定义错误。 package mainimport (errorsfmt )// 定义一个函数用来实现除法 func division(i1, i2 float64) (res float64, err error) {fmt.Println(需要计算的数字是:, i1, i2)if i2 0 {return 0, errors.New(输入的分母不能为0)} else {res i1 / i2return res, nil} }func main() {// go 错误定义为一种类型err ccc// 像使用其他类型的变量一样去处理我们的错误。// go打开一个本地文件。// 1. 打开这个文件 文件不存在 没有权限// 2. 写入内容/读取内容// f, err : ioutil.ReadFile(./text.txt)// if err ! nil {// // 此时readfile报错出现了问题// fmt.Println(读取文件内容失败:, err.Error())// } else {// fmt.Println(string(f))// }// 自定义errerr : errors.New(这是一个自定义错误)fmt.Println(err)err2 : fmt.Errorf(这是一个自定义错误: %s,它是使用fmt生成的, 这是错误内容)fmt.Println(这是一个使用fmt定义的错误:, err2.Error())// varres, err3 : division(2, 0)if err3 ! nil {fmt.Println(计算错误:, err3.Error())} else {fmt.Println(计算结果:, res)} }4、程序异常终止 4.1 程序终止panic panic可以在异常的时候让程序终止执行退出程序。或者是程序所强依赖的基础组件不可用。 此时程序已经无法继续正常工作此时可以使用panic抛出异常并且把程序退出。 切记panic不能滥用不能到处使用panic package mainimport (errorsfmttime )// 实现数据库的链接 func connectDatabase(address string, port int) (string, error) {// 如果address和port为空if address || port 0 {return , errors.New(无法链接数据库)} else {return 数据库链接成功, nil} }func main() {s, err : connectDatabase(, 0)for {time.Sleep(5 * time.Second)// 模式启动程序if err ! nil {// 说明无法链接数据库fmt.Println(err)panic(err) // 就会退出程序} else {// 链接成功fmt.Println(s)// 正常启动程序}} }4.2 defer 程序退出收尾处理 defer: 是go语言中的一种延迟调用机制defer里面的内容可以在函数return之前或者是程序panic之前执行。 一般用于资源回收和数据返回defer也可以用于异常时的恢复。 defer是可以有多个的采用先进后出的机制。 package mainimport (errorsfmt )// 实现数据库的链接 func connectDatabase(address string, port int) (string, error) {// 如果address和port为空if address || port 0 {return , errors.New(无法链接数据库)} else {return 数据库链接成功, nil} }// 返回数据给前端 func returnDataToFrontend(msg string) {fmt.Println(返回给前端的数据是, msg) }func main() {//比如一些常见的场景// 1. 关闭连接池// 2. 关闭文件句柄// 3. 记录一些异常日志msg : 返回给前端的数据defer returnDataToFrontend(1)defer returnDataToFrontend(2)defer returnDataToFrontend(3)defer returnDataToFrontend(4)defer returnDataToFrontend(msg) // 不会真正的执行_, err : connectDatabase(, 0)if err ! nil {fmt.Println(err)// retpanic(err)}// 返回数据给前端// returnDataToFrontend(msg) } 5、异常捕获 package mainimport fmtfunc printSliceData(s []string) {// 使用recover进行异常捕获defer func() { // 匿名函数fmt.Println(程序执行失败, 捕获异常)if err : recover(); err ! nil {// recover是用来捕获panic的报错的// 尝试恢复防止程序异常退出fmt.Println(捕获到了一个错误:, err)// 发出一个告警// 记录一条日志// 返回给前端说传入的值不对}}()fmt.Println(切片的内容:, s)// 打印一下切片的第三个值fmt.Println(切片的第三个值是:, s[2]) }func main() {// recover 异常的捕获和处理//s : []string{a, b}printSliceData(s)}
http://www.w-s-a.com/news/277592/

相关文章:

  • title 镇江网站建设wordpress 获取用户密码
  • 品牌型网站建设wordpress+js插件开发教程
  • 免费注册微信网站国家企业年审营业执照官网
  • 建设银行网站 无法访问东莞淘宝运营
  • 做家电网站做网站美工需要会什么软件
  • 深圳营销型定制网站开发1000建设银行网站特点分析
  • 安装网站系统重庆知名网站
  • 巴彦淖尔市 网站建设怀化北京网站建设
  • 内部网站管理办法建立网站后台
  • 自学考试网站建设与管理郑州网站建设开拓者
  • 宁夏制作网站公司慈溪建设集团网站
  • 国家企业官方网站查询系统站酷设计网站官网入口文字设计
  • 彩票网站开发制作需要什么wordpress连接微博专业版v4.1
  • 孝感建设银行官网站百度一下你就知道啦
  • 做网站如何做视频广告制作公司简介怎么写
  • 做网站 买空间商务网站内容建设包括
  • 萝岗网站建设为什么点不开网站
  • 惠州网站制作询问薇北京网站建设最便宜的公司
  • 注册网站英语怎么说wordpress 3.8.3
  • 甘肃张掖网站建设网站开发软件是什么专业
  • 海口省建设厅网站网站数据库怎么做同步
  • 做网站建设月收入多少app开发公司广州英诺
  • 新闻播报最新网站优化外包费用
  • wordpress分页出现404最专业的seo公司
  • 连云港网站建设电话连云港市建设局网站
  • 平面设计网站有哪些比较好drupal网站建设 北京
  • 健康资讯网站模板网页价格表
  • 2008发布asp网站宝安建网站的公司
  • 郑州市城市建设管理局网站制作公司网站 优帮云
  • 网站开发 瀑布结构普陀网站建设