问题:
1. “对于高健壮性的代码,应该先断言再进行错误处理”---《代码大全》P193。
为什么不直接用错误处理呢?先断言再进行错误处理和直接进行错误处理的效果不是一样的么?
2. 完全填充分配到的所有内存,这样可以让你检查到内存分配错误。完全填充已分配到的所有文件和流,这样可以让你排查出文件格式错误。---《代码大全》P206
什么是“完全填充”?这两句话是什么意思?
3. 在删除一个对象之前把它填满垃圾数据---《代码大全》P206
为什么要这样做?
4. 为什么下图代码可以实现选择是否编译?
---《代码大全》P207
5. 错误处理已被证实为现代计算机科学中最棘手的问题之一,你不能武断地处理它。有人估计程序中高达90%的代码是用来处理异常情况、进行错误处理、或做簿记工作,意味着只有10%的代码是用来处理常规的情况。......但是因为错误处理牵连到整个系统,因此最好在架构层次对待它。---《代码大全》P49
如何在架构层次对待错误处理?