132.try throw catch介绍

 1 #include <iostream>
 2 using namespace std;
 3
 4 //try尝试执行,抛出throw,throw之后语句不再执行
 5 //catch处理throw的异常
 6
 7 void main()
 8 {
 9     float fl1, fl2;
10     cin >> fl1 >> fl2;
11
12     //尝试执行,抛出类型检测
13     try
14     {
15         if (fl2 < 0.0000001)
16         {
17             throw 1;
18         }
19         else if (fl1 < 0.000001)
20         {
21             throw 2;
22         }
23
24         float fl3 = fl1 / fl2;
25         cout << fl3 << endl;
26     }
27     //定义类型,检测判断是什么错误
28     catch (int code)
29     {
30         if (code == 1)
31         {
32             cout << "fl2太小" << endl;
33         }
34         else if (code == 2)
35         {
36             cout << "fl2太小" << endl;
37         }
38     }
39
40
41     cin.get();
42     cin.get();
43 }

原文地址:https://www.cnblogs.com/xiaochi/p/8684866.html

时间: 2024-10-09 01:55:49

132.try throw catch介绍的相关文章

c++ try throw catch

c++ try throw catch 这三者联合使用 , try { statement list; } catch( typeA arg ) { statement list; } catch( typeB arg ) { statement list; } ... catch( typeN arg ) { statement list; } throw放在try中,如果throw执行了,也有相应的catch,就能捕获到相应的值.例子如下 #include <exception> #inc

C++中的try throw catch 异常处理

今天在开发过程中调用一个库函数结果库函数有throw操作,当前代码没有对throw进行捕获操作,导致进程在main 函数中捕获到异常导致进程crash.所以借此记录下c++关于try,throw,catch的用法. 程序运行时常会碰到一些异常情况,例如: 做除法的时候除数为 0: 用户输入年龄时输入了一个负数: 用 new 运算符动态分配空间时,空间不够导致无法分配: 访问数组元素时,下标越界:打开文件读取时,文件不存在. 这些异常情况,如果不能发现并加以处理,很可能会导致程序崩溃. 所谓“处理

try throw catch 多个throw 捕获的问题

当有多个throw语句时,catch捕获的是第一个throw语句 <?php $a=1; try{  if($a!=2){   throw new Exception('not equal 2.');} $a=b; if($a!=3){   throw new Exception('not equal 3.');} $a=c; } catch (Exception $e){ echo $e->getMessage(); echo "<br>"; echo $a;

try/throw/catch

try 保护代码,throw抛出值,catch接受并处理异常 一般格式 try { //程序中抛出异常 throw value; } catch(valuetype v) { //异常处理程序 } 测试示例 #include <iostream> using namespace std; int main(int argc,char *argv[]) { cout<< "In main"<<endl; //Define a try block, wh

try throw catch typeid

QString str = ui.ll->text(); try { if (str == NULL) { throw 1; } else { throw 1.2; } } catch (int & e) //参数的类型要与throw中类型保持一致,才能捕捉到:加上&能捕捉到抛出的值 { if (e == 1) { ui.ll->setText("68 04 00 43 00 00 00"); } qDebug()<<typeid(e).name

【又长见识了】C#异常处理,try、catch、finally、throw

异常处理:程序在运行过程中,发生错误会导致程序退出,这种错误,就叫做异常.处理这种错误,就叫做异常处理. 1.轻描淡写Try.Catch.Finally.throw用法 在异常处理中,首先需要对可能发生异常的语句进行异常捕捉,try就是用于预测可能出现的异常.捕获异常并对异常进行处理,就在catch中实现.不管异常发生与否,都会执行finally里面的语句.先看一个例子: static void Main(string[] args) { Console.WriteLine("请输入除数:&qu

Swift 2.0 到底「新」在哪?

[编者按]2015年6月,一年一度的苹果 WWDC 大会如期而至,在大会上苹果发布了 Swift 2.0,引入了很多新的特性,以帮助开发者更快.更简单地构建应用.本篇文章作者是 Maxime defauw ,本文中 Maxime 向大家简要介绍 Swift 2.0 中值得注意的新特性.本文系 OneAPM 工程师编译整理. 一年前,苹果推出了面向 iOS 和 OS X 的全新编程语言-- Swift.当听到它发布的时候,像千千万万 iOS 开发者那样,笔者的内心激动无比.正如宣传所说的那样,作为

Log4net 自定义字段 写入Oracle 使用ODP.NET Managed驱动

一.环境说明: 开发工具:vs2010   ,数据库:oracle 11g ,版本:log4net的目前最新版本1.2.13.0    :  Oracle.ManagedDataAccess.dll  Version 4.121.1.0 二.官网dll准备 log4net      http://mirrors.hust.edu.cn/apache//logging/log4net/binaries/log4net-1.2.13-bin-newkey.zip Oracle.ManagedData

Java编程思想读书笔记

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4290955.html 第一章对象导论... 1 第二章一切都是对象... 4 第三章操作符... 10 第四章流程控制... 12 第五章初始化与清理... 14 第六章访问权限控制... 15 第七章复用... 23 第八章多态... 2