知识卡片
Panic暴露非法状态
内容
panic 常由空指针、越界、并发 map 写等非法状态触发。它适合表示程序无法继续的错误,而不是普通业务失败。发散:把可预期错误写成 panic,会让调用方失去恢复协议。语言哲学层面的定位见[[Panic不是异常机制]]。
参考来源
- 位置:《Go语言入门到实战(共3册)》第10章《Go语言编程之旅:附录D 让Go“恐慌”的十种方法》(源文件:_epub-src/text/part0015.html)
- 结论依据:原文围绕“空指针调用”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。
- 原始内容:让Go“恐慌”的十种方法 本节有且仅有一个目的,那就是让Go程序遇到“恐慌”。 1.数组/切片索引越界 运行结果: 2.空指针调用 运行结果: 3.过早关闭HTTP响应体 运行结果: 4.除以零 运行结果: 5.向已关闭的通道发送消息 运行结果: 6.重复关闭通道 运行结果: 7.关闭未初始化的通道……