京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
服务端 / Golang 教程 / Golang 异常(Error)
Go 语言 Error(错误处理)
Go 语言 Recover(恢复)Go 语言单向通道

Go 语言 Error(错误处理)

Go没有像Java中的try / catch这样的异常机制,我们不能在Go中抛出异常。

Go使用另一种机制,称为延迟恐慌和恢复机制。

Go通过返回一个错误对象来处理函数和方法的简单错误。错误对象可能是唯一或最后一个返回值。如果函数中没有错误,则错误对象为nil。

无论是否收到错误,我们都应始终在调用语句中检查错误。

我们永远不要忽略错误,它可能导致程序崩溃。

Go语言检测和报告错误情况的方法是

  • 可能导致错误的函数将返回两个变量:一个值和一个错误代码,如果成功,则为nil;如果错误条件,则为== nil。

  • 在函数调用之后检查错误。如果发生错误( if error != nil),则停止执行实际功能(或必要时整个程序)。

Go具有预定义的错误接口类型

type error interface {
    Error() string
}	

我们可以使用错误包中的error.New定义错误类型,并提供适当的错误消息,例如:

err := errors.New("math - 负数的平方根")

出错示例

package main
import "errors"
import "fmt"
import "math"
func Sqrt(value float64) (float64, error) {
   if (value < 0) {
      return 0, errors.New("Math: 负数的平方根")
   }
   return math.Sqrt(value), nil
}
func main() {
   result, err := Sqrt(-64)
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println(result)
   }
   result, err = Sqrt(64)
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println(result)
   }
}

输出:

Math: 负数的平方根
8
Go 语言 Recover(恢复)Go 语言单向通道
上一篇:无