Go基础--14 编写好的错误处理

及早判断错误

package error

import (
	"errors"
	"testing"
)
var LessThanTwoError = errors.New("n should be not less than 2")
var LargeThanError = errors.New("n should be not more than 100")
func GetFibonacci(n int) ([]int,error){
	if n < 2 {
		return nil,LessThanTwoError
	}
	if n > 100 {
		return nil,LargeThanError
	}
	fibList := []int{1,1}

	for i:= 2; i < n ; i++{
		fibList = append(fibList,fibList[i-2]+fibList[i-1])
	}
	return fibList,nil
}

func TestGetFibonacci(t *testing.T){
	if v,err := GetFibonacci(1);err != nil {
		if err == LargeThanError{
			t.Error("lager")
		}
		if err == LessThanTwoError{
			t.Error("small")
		}
	}else{
		t.Log(v)
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值