37、C 语言编程:错误处理与高级主题

C 语言编程:错误处理与高级主题

错误处理

在编程过程中,错误处理是至关重要的环节。以文件写入操作为例,若 WriteFile() 函数执行成功,新写入的文件将替换之前的 DVD 数据文件;若失败,则需捕获错误代码用于报告,然后盲目删除临时文件(即忽略删除过程中可能出现的错误,因为此时已无法对其做更多处理)。经过这样的处理, WriteFile() 函数会变得更加健壮,即使操作失败,原始的 DVD 信息文件仍能得以保存。

在设计错误处理机制时,我们不必对程序可能遇到的每一个错误都进行处理。这就是所谓的“选择战斗”原则。例如在 ReadFile() 函数的末尾有 fclose( fp ); 语句,当执行到这一步时, ReadFile() 已经成功打开文件并读取了所有数据记录。此时若关闭文件时出现错误,程序也无能为力,因为该函数的主要任务已经完成,这种情况下的错误对程序整体影响不大。所以,在进行错误检查和处理时,要考虑这么做的原因以及如何利用这些错误信息。如果答案是“作用不大”,那么可能根本不需要进行处理。

以下是一些相关的练习题,帮助我们更好地理解错误处理:
1. 分析代码中的错误处理缺陷

bool ReadNumberFromFile( FILE *fp, int *value )
{
    if ( fscanf( fp, "%d", value ) == EOF )
        return false;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值