从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
标准库代码中的调用?