错误处理
更新时间:2020-05-21
GO语言以error类型标识错误,BOS支持两种错误见下表:
错误类型 | 说明 |
---|---|
BceClientError | 用户操作产生的错误 |
BceServiceError | BOS服务返回的错误 |
用户使用SDK调用BOS相关接口,除了返回所需的结果之外还会返回错误,用户可以获取相关错误进行处理。实例如下:
Go
1// bosClient 为已创建的BOS Client对象
2bucketLocation, err := bosClient.PutBucket("test-bucket")
3if err != nil {
4 switch realErr := err.(type) {
5 case *bce.BceClientError:
6 fmt.Println("client occurs error:", realErr.Error())
7 case *bce.BceServiceError:
8 fmt.Println("service occurs error:", realErr.Error())
9 default:
10 fmt.Println("unknown error:", err)
11 }
12} else {
13 fmt.Println("create bucket success, bucket location:", bucketLocation)
14}
客户端异常
客户端异常表示客户端尝试向BOS发送请求以及数据传输时遇到的异常。例如,当发送请求时网络连接不可用时,则会返回BceClientError;当上传文件时发生IO异常时,也会抛出BceClientError。
服务端异常
当BOS服务端出现异常时,BOS服务端会返回给用户相应的错误信息,以便定位问题。常见服务端异常可参见BOS错误信息格式