Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 1.62 KB

PError.md

File metadata and controls

57 lines (46 loc) · 1.62 KB

错误包

自定义错误

函数列表

New(status int, msg ...interface{}) *Error 
// 初始化一个err类型的错误对象, 如果panic这个对象,pgo2框架会自动捕获,json输出status,msg,并写error日志
NewWarn(status int, msg ...interface{}) *Error 
// 初始化一个warn类型的错误对象, 如果panic这个对象,pgo2框架会自动捕获,json输出status,msg,并写warn日志
NewIgnore(status int, msg ...interface{}) *Error
// 初始化一个warn类型的错误对象, 如果panic这个对象,pgo2框架会自动捕获,json输出status,msg,不会写日志

使用说明

package controller

import (

    "github.com/pinguo/pgo2"
    "github.com/pinguo/pgo2/perror"
)

type IndexController struct {
     pgo2.Controller
 }

 func (t *IndexController) BeforeAction(action string){
 	// curl -v http://127.0.0.1:8000/index/test1
    // 写warn日志
    // output : { "data": {}, "message": "panic 400", "status": 400 }
    // 可用于一些参数判断和过滤后终止程序等
    if action == "Test1"{
        panic(perror.NewWarn(400,"panic 400"))
    }

    // curl -v http://127.0.0.1:8000/index/test2
    // 写error日志
    // output : { "data": {}, "message": "panic 500", "status": 500 }
    if action == "Test2"{
        panic(perror.New(500,"panic 500"))
    }

    // curl -v http://127.0.0.1:8000/index/test3
    // 不写日志
    // output : { "data": {}, "message": "panic 200", "status": 200 }
    if action == "Test3"{
        panic(perror.NewIgnore(200,"panic 200"))
    }
 }

 // curl -v http://127.0.0.1:8000/index/index 
 func (m *IndexController) ActionIndex() {
 	
 }