博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++异常处理
阅读量:6204 次
发布时间:2019-06-21

本文共 768 字,大约阅读时间需要 2 分钟。

通过异常处理,可以将问题的检测和问题的解决分离,这样程序的问题检测部分可以不必了解如何处理问题。

由问题检测部分抛出一个异常对象给问题处理代码,通过这个对象的类型和内容,两个部分能够就出现了什么错误进行通信。

Sales_item operator+(const Sales_item& lhs, const Sales_item& rhs){  if (!lhs.same_isbn(rhs))throw runtime_error(“Data must refer to same ISBN”);  // ok, if we’re still here the ISBNs are the same to it’s okay to do the addition  Sales_item ret(lhs);   ret += rhs;  return ret;}

在程序的其他部分,将Sales_item对象相加的那部分代码放到一个try块中,以便异常发生时捕获异常。

// part of the application that interacts with the userSales_item item1, item2, sum;while (cin >> item1 >> item2) {  try  {sum = item1 + item2; // calculate their sum// use sum  }  catch (const runtime_error &e)  {cerr << e.what() << “ Try again. \n” << endl;  }}

 

转载于:https://www.cnblogs.com/zhuyf87/archive/2012/12/20/2826169.html

你可能感兴趣的文章
5. 常用控件(一)
查看>>
Java内存区域与内存溢出异常
查看>>
实时流式计算框架Storm 0.9.0发布通知(中文版)
查看>>
devGridView第一列显示行号
查看>>
UISwitch的常见属性
查看>>
[虚树模板] 洛谷P2495 消耗战
查看>>
每天一个小算法(matlab armijo)
查看>>
Joomla 2.5 中文语言包安装模板报错
查看>>
面向对象简述--对象、引用、指针
查看>>
JWT
查看>>
shiro的源码学习(三)shiro的SecurityManager类结构
查看>>
java队列
查看>>
C++中强制类型转换
查看>>
Selenium应用代码(读取mysql表数据登录)
查看>>
J2SE Base-2
查看>>
Nginx 限制单个IP的并发连接数及对每个连接速度(限速)
查看>>
js原型学习
查看>>
一位数组续
查看>>
getview adapter android
查看>>
C#实现union以及lock的使用
查看>>