高校实验室

 找回密码
 立即注册

手机号码,快捷登录

C++学习杂记3:错误及其处理

热度 1已有 669 次阅读2016-12-23 14:44

一:错误来源
  1. 缺少规划
  2. 不完备的程序(没考虑到所有情况)
  3. 意外的参数(如sqrt(-1.2))
  4. 意外的输入
  5. 意外的状态(如信息丢失)
  6. 逻辑错误
二:处理错误方法
  1. 调用者处理:在调用前先判断输入参数合理性(eg.正负,类型)
  2. 被调用者处理:被调用函数在实现具体功能前先检查输入参数是否正确
  3. 发现错误后要抛出或显示
三:异常try catch(目的:将检测错误和处理错误分离)
在检测到错误后抛出异常函数,用catch去捕获
eg:求长方体面积,参数不能小于等于0
class Bad_area{};//定义一个异常函数,当检测到错误时抛出它,在用catch捕获时再处理该错误
int area(int length,int width)
{
if(length<=0||width<=0) throw Bad_area();//参数错误时抛出异常
return length*width;
}
int main()
try{
……
int area1 = area(-12,2);
int area2 = area(7,8);
……
}
catch (Bad_area){
cout<<"bad arguments to area()\n";//处理异常
}cath(……){
cout<<……
}

四:其他
常见错误
1:参数正负、0未考虑
2:参数类型未考虑
3:运算时参数类型不一样
4:向量(数组)偏一位错误:在使用时注意下标最大值位size-1,for循环中注意i<10和i<=10等的判断





路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

QQ|小黑屋|使用帮助|edulab.cn ( 蜀ICP备17031667号-4 )

GMT+8, 2019-12-9 13:19 , Processed in 0.026035 second(s), 14 queries , Gzip On.

Powered by edulab.cn Licensed

© 2016-2099 辅助线 Inc.

返回顶部