知识卡片
Panic不是异常机制
内容
Go 没有 Java 式异常,panic/recover 用于不可继续的异常状态,普通错误应通过返回值表达。发散:Go 的错误处理哲学是让失败出现在签名里,而不是躲在控制流外。另一本书从函数章节展开的类似结论见[[错误处理偏显式]]。
参考来源
- 位置:《Go语言入门到实战(共3册)》第15章《Go语言编程入门与实战技巧:第5章 函数》(源文件:_epub-src/text/part0027_split_000.html)
- 结论依据:原文围绕“Go语言并没有像Java那样提供异常机制”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。
- 原始内容:因为Go语言并没有像Java那样提供异常机制,所以Go语言不能抛出异常,取而代之的是提供了panic和recover机制。