38、C 编程:错误处理与高级主题探索

C 编程:错误处理与高级主题探索

1. 错误处理

在编写程序时,错误处理是确保程序健壮性的关键部分。以 WriteFile() 函数为例,如果文件写入成功,新文件将替换之前的 DVD 数据文件;若失败,则捕获错误代码用于报告,然后直接删除临时文件(忽略删除过程中可能出现的错误,因为此时已无法处理)。这样, WriteFile() 函数变得更加健壮,即使出现问题,原始的 DVD 信息文件仍会保留。

在设计错误处理时,不必对程序遇到的每个错误都进行处理,要学会“选择战斗”。例如在 ReadFile() 函数中,当文件读取完成后执行 fclose( fp ); ,若此时关闭文件出现错误,程序也无能为力,因为 ReadFile() 已经完成了其主要任务。所以,在进行错误检查和处理时,要考虑处理的原因以及处理结果的用途,如果作用不大,可能就无需处理。

下面是一些相关的练习题:
1. 分析以下代码在错误处理方面的缺陷:

bool ReadNumberFromFile( FILE *fp, int *value )
{
    if ( fscanf( fp, "%d", value ) == EOF )
        return false; // no more numbers
    else
        return true; // value successfully read
}
    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值