feature/errv2 #7
3
Makefile
3
Makefile
|
@ -1,3 +1,6 @@
|
||||||
|
GOFMT ?= gofmt
|
||||||
|
GOFILES := $(shell find . -name "*.go")
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test: # 進行測試
|
test: # 進行測試
|
||||||
go test -v --cover ./...
|
go test -v --cover ./...
|
||||||
|
|
|
@ -1030,3 +1030,40 @@ func TestFromError(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Test_newErr(t *testing.T) {
|
||||||
|
type args struct {
|
||||||
|
scope uint32
|
||||||
|
detail uint32
|
||||||
|
msg string
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
args args
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "ok",
|
||||||
|
args: args{
|
||||||
|
scope: code.CloudEPMember,
|
||||||
|
detail: code.InvalidFormat,
|
||||||
|
msg: "gg88g88",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
er := newErr(tt.args.scope, tt.args.detail, tt.args.msg)
|
||||||
|
// er.CodeStr() 會補滿6碼,業務邏輯要回應這個
|
||||||
|
// 105,060 前面兩位會乘一萬做計算,中間兩位乘100 來做計算最後用補的
|
||||||
|
fmt.Println(er.Scope(), er.Category(), er.Code(), er.FullCode(), er.CodeStr())
|
||||||
|
fmt.Println(er.Error()) // 建立十原始錯誤 -> 業務邏輯,給客人看 gg88g88
|
||||||
|
er2 := fmt.Errorf("test origin err")
|
||||||
|
er = er.Wrap(er2) // 包裝錯誤
|
||||||
|
fmt.Println(er.Error()) // gg88g88: test origin err
|
||||||
|
err := er.Unwrap()
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -77,10 +77,10 @@ func (e *LibError) CodeStr() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
if e.Category() == code2.CatGRPC {
|
if e.Category() == code2.CatGRPC {
|
||||||
return fmt.Sprintf("%d%04d", e.Scope(), e.Category()+e.Code())
|
return fmt.Sprintf("%02d%04d", e.Scope(), e.Category()+e.Code())
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("%d%04d", e.Scope(), e.Code())
|
return fmt.Sprintf("%02d%04d", e.Scope(), e.Code())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Code 私有屬性 "code" 的 getter 函數
|
// Code 私有屬性 "code" 的 getter 函數
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package errs
|
package errs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"code.30cm.net/digimon/library-go/errs/code"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"code.30cm.net/digimon/library-go/errs/code"
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package errs
|
package errs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"code.30cm.net/digimon/library-go/errs/code"
|
|
||||||
"context"
|
"context"
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"code.30cm.net/digimon/library-go/errs/code"
|
||||||
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestFromError(t *testing.T) {
|
func TestFromError(t *testing.T) {
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package errs
|
package errs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"code.30cm.net/digimon/library-go/errs/code"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"code.30cm.net/digimon/library-go/errs/code"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
"net/http"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Scope 全域變數應由服務或模組設置
|
// Scope 全域變數應由服務或模組設置
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package errs
|
package errs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"code.30cm.net/digimon/library-go/errs/code"
|
|
||||||
"errors"
|
"errors"
|
||||||
"google.golang.org/grpc/codes"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"code.30cm.net/digimon/library-go/errs/code"
|
||||||
|
"google.golang.org/grpc/codes"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewError(t *testing.T) {
|
func TestNewError(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue