C 语言编程:错误处理与高级主题
错误处理
在编程过程中,错误处理是至关重要的环节。以文件写入操作为例,若 WriteFile() 函数执行成功,新写入的文件将替换之前的 DVD 数据文件;若失败,则需捕获错误代码用于报告,然后盲目删除临时文件(即忽略删除过程中可能出现的错误,因为此时已无法对其做更多处理)。经过这样的处理, WriteFile() 函数会变得更加健壮,即使操作失败,原始的 DVD 信息文件仍能得以保存。
在设计错误处理机制时,我们不必对程序可能遇到的每一个错误都进行处理。这就是所谓的“选择战斗”原则。例如在 ReadFile() 函数的末尾有 fclose( fp ); 语句,当执行到这一步时, ReadFile() 已经成功打开文件并读取了所有数据记录。此时若关闭文件时出现错误,程序也无能为力,因为该函数的主要任务已经完成,这种情况下的错误对程序整体影响不大。所以,在进行错误检查和处理时,要考虑这么做的原因以及如何利用这些错误信息。如果答案是“作用不大”,那么可能根本不需要进行处理。
以下是一些相关的练习题,帮助我们更好地理解错误处理:
1. 分析代码中的错误处理缺陷
bool ReadNumberFromFile( FILE *fp, int *value )
{
if ( fscanf( fp, "%d", value ) == EOF )
return false;
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



