Golang
主页 > 脚本 > Golang >

golang panic 函数用法介绍

2025-03-02 | 佚名 | 点击:

在 Go 语言中,panic 和 recover 是用于处理运行时异常的关键字。以下是它们的用法总结和示例:

1. panic 的作用

2. 基本用法

1

2

3

4

5

6

7

8

9

10

11

12

package main

import \"fmt\"

func main() {

    defer func() {

        if r := recover(); r != nil {

            fmt.Println(\"Recovered from panic:\", r)

        }

    }()

    fmt.Println(\"Start\")

    panic(\"something bad happened\") // 触发 panic

    fmt.Println(\"End\") // 不会执行

}

输出:

Start
Recovered from panic: something bad happened

3. recover 的使用规则

1

2

3

4

5

6

7

8

9

10

11

12

func mayPanic() {

    panic(\"a problem occurred\")

}

func main() {

    defer func() {

        if r := recover(); r != nil {

            fmt.Println(\"Recovered. Error:\", r)

        }

    }()

    mayPanic() // 触发 panic

    fmt.Println(\"After mayPanic()\") // 不会执行

}

4. 错误处理建议

Web 服务器示例:

1

2

3

4

5

6

7

8

func handleRequest() {

    defer func() {

        if err := recover(); err != nil {

            log.Println(\"Request failed:\", err)

        }

    }()

    // 处理请求逻辑(可能触发 panic)

}

5. 常见错误场景

总结

通过合理使用这两个关键字,可以提升程序的健壮性,避免因未处理异常导致的崩溃。

原文链接:
相关文章
最新更新