首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// CatchPanic 通用恢复工具函数(工程化优化)
|
||||
func CatchPanic(tag string) {
|
||||
if err := recover(); err != nil {
|
||||
stack := make([]byte, 4096)
|
||||
stack = stack[:runtime.Stack(stack, false)]
|
||||
fmt.Printf("[%s] 捕获panic: %v\n堆栈: %s\n", tag, err, stack)
|
||||
}
|
||||
}
|
||||
|
||||
// BasicDemo 基础恢复演示
|
||||
func BasicRecover() {
|
||||
defer CatchPanic("基础演示")
|
||||
panic("redis 连接超时")
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 基础恢复演示
|
||||
BasicRecover()
|
||||
println("----------------------------------------")
|
||||
fmt.Println("主程序执行完成,无崩溃退出")
|
||||
}
|
||||
Reference in New Issue
Block a user