初级会员
  • 第 24898 位会员
  • Dust90
  • 2018-11-06 13:03:30
  • 111
  • Offline
  • 43 68

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 2818943267@qq.com 感谢楼主的分享!!!
  • 评论了主题 请教大佬们呢
    https://blog.csdn.net/qq_36431213/article/details/82805043 看看这个
  • 评论了主题 关于异常处理的问题
    你先go build 看看
  • 评论了主题 golang怎么处理异常
    #2 @1053531172 process.go ````golang package process // 声明处理接口 type Process interface { ProcessData(entrys []protocol.Entry) } // 声明处理函数 type DppProcess func(entrys []protocol.Entry) // DppProcess 实现处理接口 func (dpp DppProcess) ProcessData(entrys []protocol.Entry) { dpp(entrys) } type ErrorProcess func(entrys []protocol.Entry) error func (epp ErrorProcess) ProcessData(entrys []protocol.Entry) { epp(entrys) } // 声明数据处理函数 func ProcessFunc(entrys []protocol.Entry, process func(entrys []protocol.Entry)) { // 实例化一个 DppProcess dppProcess := DppProcess(process) processHandler(entrys, dppProcess) } // 声明数据处理函数 // 用于调用 Process 实现类的方法 func processHandler(entrys []protocol.Entry, process Process) { process.ProcessData(entrys) } // 声明全局处理错误函数 func ErrWrapper(errorProcess ErrorProcess) func([]protocol.Entry) { return func(entrys []protocol.Entry) { // panic defer func() { if r := recover(); r != nil { // 捕获的异常处理 util.Logger.File("panic-{Ymd}.log").Error(r) } }() // 进入处理函数 err := errorProcess(entrys) if err != nil { util.Logger.File("error-{Ymd}.log").Println(err) } } } ```` main.go ````golang package main ...... func main() { ...... go func() { process.ProcessFunc(message.Entries,process.ErrWrapper(service.EntryProcess)) }() ...... } ````
  • 评论了主题 golang怎么处理异常
    我是在main那边做了一个错误处理包装函数,可以处理任何的异常错误,而又不导致系统崩溃,感觉比java的异常处理方式好用多了。