go語言封裝try...catch捕獲異常

  前言

  習慣了java的try catch方式,由於go語言中沒有try catch機制,所以自己封裝了一個。

 

  代碼

   catch_panic.go

package Try

/**
 * 捕獲異常try...catch
 * 用法示例:
 * defer Try.CatchException(func(e interface{}){
 *     log.Printf("%s\n", e)
 * })
 */
func CatchException(handle func(e interface{})) {
    if err := recover(); err != nil {
        handle(err)
    }
}

   main.go

package main

import (
    "./Try"
    "log"
)

func main() {
    defer Try.CatchException(func(e interface{}){
        log.Printf("%s\n", e)
    })

    panic("This is a panic test.")
}

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章