catch.go 507 B

12345678910111213141516171819202122232425262728293031323334
  1. package mfw
  2. import (
  3. "log"
  4. "runtime"
  5. )
  6. //出错拦截
  7. func Catch() {
  8. if r := recover(); r != nil {
  9. log.Println("err:", r)
  10. for skip := 0; ; skip++ {
  11. _, file, line, ok := runtime.Caller(skip)
  12. if !ok {
  13. break
  14. }
  15. go log.Printf("%v,%v\n", file, line)
  16. }
  17. }
  18. }
  19. //出错拦截
  20. func CatchLogger() {
  21. if r := recover(); r != nil {
  22. log.Println(r)
  23. for skip := 0; ; skip++ {
  24. _, file, line, ok := runtime.Caller(skip)
  25. if !ok {
  26. break
  27. }
  28. go log.Printf(file, ", ", line)
  29. }
  30. }
  31. }