出错概率很大的话就应该用返回值啊。强制程序员的各层代码里面都要考虑 IO 出错的可能性。
我看很多程序员都不考虑写 buf 只写入一半的场景。所以现在好多系统函数会特别弄个强制要求程序员处理返回值的警告。特别是涉及到安全的 setuid() 这种。这是非常好的习惯。
其实不止程序员是这样的。操作系统自己也有问题, close() 也应该有返回值的啊。
【 在 yuanmo 的大作中提到: 】
: 我总结的适用于异常的地方就是,那种出错概率很大,出错原因很多,且出错现场和处理错误现场距离很远的场合。这种情况下靠层层返回值检查逐级上报,会非常麻烦。
: 诸如网络IO错误是我们认为比较适合的地方,当然这个可能跟你们使用的方式不一样,以及上层处理策略也不一样。
--
FROM 14.19.13.*