try-catch 异常捕获学习
#include <iostream>
#include <string>
#include <vector>
#include <stdexcept>
using namespace std; //对于不同的异常可以采取不同的catch块进行捕捉
//对于一部分可以统一处理
int main(int argc, const char *argv[])
{
try
{
int i;
cin >> i;
if(i == 0)
throw runtime_error("出现运行期错误");
else if(i == 1)
throw invalid_argument("非法参数");
else if(i == 2)
throw logic_error("逻辑错误");
else
throw out_of_range("越界错误");
}
catch(...) //能捕获所有的异常
{
cout << "xxxxxxxxxxxxxxxxxxx" << endl;
}
/* catch(exception &e)
{
cout << "异常信息:" << e.what() << endl;
}
catch(runtime_error &e)
{
cout << "runtime_error :" << e.what() << endl;
}
catch(invalid_argument &e)
{
cout << "invalid_argument:" << e.what() << endl;
} */
cout << "继续运行" << endl;
return 0;
}
将代码分别注释 分别进行编译运行你就理解了
try-catch 异常捕获学习的更多相关文章
- TP5 try{}catch{}异常捕获不到 解决办法
问题:TP5用下面的方法, 想要获取抛出的异常捕获不到…… 错误的写法: try{ …… } catch (Exception $e) { echo $e->getMessage(); } 正确 ...
- try catch异常捕获
格式为: try { int i = int.Parse(Console.ReadLine()); //容易发生错误的语句 ...
- Servlet过滤器——异常捕获过滤器
1.概述 介绍如何实现异常捕获过滤器. 2.技术要点 本实例主要是在过滤器Filter的doFilter()方法中,对执行过滤器链的chain的doFilter()语句处添加try…catch异常捕获 ...
- C# 异常捕获机制(Try Catch Finally)
一.C#的异常处理所用到关键字 try 用于检查发生的异常,并帮助发送任何可能的异常. catch 以控制权更大的方式处理错误,可以有多个catch子句. finally 无论是否引发了异常,fina ...
- 电脑小白学习软件开发-C#的选择语句、异常捕获,进攻程序员
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 不得不说,C#这门语言是小编以为最好的语言.其 ...
- T-SQL编程中的异常处理-异常捕获(catch)与抛出异常(throw)
本文出处: http://www.cnblogs.com/wy123/p/6743515.html T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出,本文简单介绍异常捕获与异 ...
- T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)
本文出处: http://www.cnblogs.com/wy123/p/6743515.html T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出(try catch th ...
- javascript学习笔记(五):异常捕获和事件处理
异常捕获 Try{ 发生异常的代码块 }catch(err){ 异常信息处理 } <!DOCTYPE html> <html> <head lang="en&q ...
- C#中的异常捕获机制(try catch finally)
(转自:http://blog.csdn.net/zevin/article/details/6901489) 一.C#的异常处理所用到关键字try 用于检查发生的异常,并帮助发送任何可能的异常.ca ...
随机推荐
- Prometheus从入门到精通:一、部署
一.Prometheus是什么? prometheus是一个开源指标监控解决方案,指标就是指的CPU的使用率.内存使用率等数据. 二.Prometheus的架构 这里直接粘贴官网的架构图: 三.安装 ...
- 解决面具magisk刷入模块卡开机问题
手机刷入面具模块出现卡开机第二屏,在reccovery模式下,点击高级(advanced)->文件管理(File Manager)->data->adb->modules删掉对 ...
- .Net Core 审计日志实现
前言: 近日在项目协同开发过程中出现了问题,数据出现了异常:其他人员怀疑项目数据丢失程序存在问题.于是通过排查程序提供的审计日志最终还原了当时操作及原因. 可见审计日志在排查.定位问题是相当有用的,那 ...
- Intellij IDEA设置
代码格式化/保存时自动格式 搜索google-java-format 和 Save Actions,安装 保存时候// 自动空格 自动导包 自动换行
- Sublime Text 2 强大的编辑功能
多行编辑功能:1) 同时编辑多行 (Ctrl+Shift+L (Win) 或 Command+Shift+L (Mac))如要在选中的多行文本的最后面同时添加一个字符"a",先选 ...
- C语言实现汉诺塔
汉诺塔 要把A柱子上的盘子移动到C柱子上,在移动过程中可以借助B柱子,但是要求小的盘子在上大的盘子在下. 解题思路: 1.把A柱子上的前N-1个盘子借助C柱子,全部移动到B柱子上(过程暂不考虑),再把 ...
- 重入锁ReentrantLock
- Turtlebot3新手教程-应用-跟随
本文针对如何利用Turtlebot3可实现的各种应用进行讲解 具体步骤如下: [Remote PC]安装应用包 cd ~/catkin_ws/src git clone https://github. ...
- zabbix v3.0安装部署【转】
关于zabbix及相关服务软件版本: Linux:oracle linux 6.5 nginx:1.9.15 MySQL:5.5.49 PHP:5.5.35 一.安装nginx: 安装依赖包: yum ...
- 搭建docker环境,安装常用应用(单机)
## 安装docker ```bash1.卸载系统之前dockersudo yum remove docker \ docker-client \ docker-client-latest \ doc ...