2011-10-24 21:49 45622人阅读 评论(3) 收藏 举报
 分类:
一点小结(267) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在任何自己得到不想要的结果的时候进行中断,比如在进行数据库事务操作的时候,如果某一个语句返回SQL_ERROR则直接抛出异常,在catch块中进行事务回滚)

  1. #include <iostream>
  2. #include <exception>      // c++标准库异常类---详情见下一篇!
  3. using namespace std;
  4. int main () {
  5. try
  6. {
  7. throw 1;
  8. throw "error";
  9. }
  10. catch(char *str)
  11. {
  12. cout << str << endl;
  13. }
  14. catch(int i)
  15. {
  16. cout << i << endl;
  17. }
  18. }

也可以自己定义异常类来进行处理:

  1. #include <iostream>
  2. #include <exception>
  3. using namespace std;
  4. //可以自己定义Exception
  5. class myexception: public exception
  6. {
  7. virtual const char* what() const throw()
  8. {
  9. return "My exception happened";
  10. }
  11. }myex;
  12. int main () {
  13. try
  14. {
  15. if(true)    //如果,则抛出异常;
  16. throw myex;
  17. }
  18. catch (exception& e)
  19. {
  20. cout << e.what() << endl;
  21. }
  22. return 0;
  23. }

同时也可以使用标准异常类进行处理:

  1. #include <iostream>
  2. #include <exception>
  3. using namespace std;
  4. int main () {
  5. try
  6. {
  7. int* myarray= new int[100000];
  8. }
  9. catch (exception& e)
  10. {
  11. cout << "Standard exception: " << e.what() << endl;
  12. }
  13. return 0;
  14. }
 
from:http://blog.csdn.net/gukesdo/article/details/6901991

c++中try catch的用法的更多相关文章

  1. C#中try catch finally 用法

    1.将预见可能引发异常的代码包含在try语句块中. 2.如果发生了异常,则转入catch的执行. catch有几种写法: catch  这将捕获任何发生的异常. catch(Exception e)  ...

  2. PHP中try catch的用法

    异常(Exception)用于在指定的错误发生时改变脚本的正常流程. 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法. 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程.这 ...

  3. JS中try catch的用法

    在js中也可以使用try/catch语法,把可能发生异常的代码使用try包裹起来,然后在catch中对异常进行处理,处理后就不会影响后面代码的执行. const a = null try { cons ...

  4. JS中try.. catch..的用法

    try 测试代码块的错误. catch 语句处理错误. throw 创建并跑出错误. try { //在这里运行代码 抛出错误 } catch(err) { //在这里处理错误 } 下面是一个实例: ...

  5. javascript中 try catch用法

    javascript中 try catch用法 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-08-16我要评论 JS try catch语句一般在什么情况下使用?是必须使 ...

  6. Java中try,catch,finally的用法

    Java中try,catch,finally的用法,以前感觉还算熟悉,但看到一篇博文才有更深点的理解,总结网友博客如下. Java异常处理的组合方式: 1.try+catch  运行流程:运行到try ...

  7. PHP中try{}catch{}的具体用法详解

    PHP中try{}catch{}是异常处理,将要执行的代码放入TRY块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示.任何调用 可能抛出异常的方 ...

  8. Java中try()...catch()用法

    在stackoverflow偶尔看到的一个关于try()...catch()的用法,通常我们使用try...catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这 ...

  9. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

随机推荐

  1. LeetCode:Single Number II

    题目地址:here 题目大意:一个整数数组中,只有一个数出现一次,其余数都出现3次,在O(n)时间,O(1)空间内找到这个出现一次的数 对于”只有一个数出现一次,其余数出现2次“的情况,很简单,只要把 ...

  2. 实践GDB

    调试工具简介:GDB  Unix程序员最常用的调试工具是GDB,这是由Richard Stallman(开源软件运动的领路人) 开发的GNU项目调试器,该工具在Linux开发中扮演了关键的角色. CG ...

  3. swift语言的学习笔记

    swift参考了OC,Rust,Haskell,Ruby,Python,C#等语言的特性.首先,学习这门语言是速学的,我不想浪费太多时间在笔记这门语言和其他语言的哪里不同,特性你自己亲自实践就知道了. ...

  4. mysql存储过程出参入参,sqlserver很熟悉的一件事到mysql,捣鼓了大半天。记录一下提醒自己。勿看

    create PROCEDURE myTestProcname(in score int ,out result varchar(100))BEGINIF score>60 THENset re ...

  5. HTML5 IE兼容问题

    最近,为公司做产品的时候用到了HTML5,用IE11打开的时候出现了界面乱或者加载js错误的问题. IE10 or IE11 :Browser Mode is IE10 .Document Mode: ...

  6. Android开发的那些坑和小技巧

    1.android:clipToPadding 意思是控件的绘制区域是否在padding里面.默认为true.如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果.先看一个效果图. 上 ...

  7. 多个相同name的文本输入框,输入其中一个后,使剩下的不能输入值

    可以用blur或keyup事件响应: 实现一: <body> <input type="text" id="AfterOtOt1" name= ...

  8. 第二节Unity3D开发环境安装(windows系统)

        这一节准备安装开发环境. 1. 首先先下载软件包:http://pan.baidu.com/s/1imYVv  4.2版本2.下载完后,解压会看到两个文件(运行第二个安装包) 3.准备安装,这 ...

  9. Moqui学习Day2

    用户 本地化  消息和日志门面 用户门面用于管理当前用户和访问,登陆,授权及登出的信息.用户信息包括区域设置,时区以及币种/ec.user.nowTimestamp设置日期. 消息门面用于追踪用户的消 ...

  10. UItableView的编辑--删除移动cell

    // // RootViewController.m // UI__TableView的编辑 // // Created by dllo on 16/3/17. // Copyright © 2016 ...