我在阅读bufio
包的代码时,发现了以下内容:链接
// fill reads a new chunk into the buffer.
func (b *Reader) fill() {
...
if b.w >= len(b.buf) {
panic("bufio: tried to fill full buffer")
}
...
}
同时,Effective Go 关于
panic
的章节中包含了以下段落:
因此,我想知道,标准库代码中的这只是一个例子,但真正的库函数应该避免panic。如果问题可以被掩盖或解决,最好让事情继续运行而不是让整个程序崩溃。
panic
调用是否由特定缓冲读取器引起的问题如此重要?