Go 语言中是否存在异常类型?
考察说明
考察对 Go 错误处理机制的基本认知。
回答思路
- 【回答框架 1】Go 语言没有异常类型,也没有 try/catch 机制。它使用 error 接口和 panic/recover 处理错误。
- 【回答框架 2】error 是一个内置接口类型,通过返回 error 值表示函数执行失败。
- 【回答框架 3】panic 用于处理程序无法恢复的错误,recover 可以捕获 panic,但通常只在特定场景使用。
- 【回答框架 4】Go 的错误处理哲学是显式检查错误,而不是依赖异常传播。
- 【关键点 1】Go 没有异常类型,使用 error 接口表示错误。
- 【关键点 2】panic/recover 用于处理不可恢复错误,不是常规错误处理手段。
- 【关键点 3】错误处理需要显式检查返回值。
- 【易错点 1】不要将 panic 用于常规错误处理。
- 【易错点 2】recover 只能在同一 goroutine 的 deferred 函数中生效。