1.使用throw和throw ex抛出异常的区别

通常,我们使用try/catch/finally语句块来捕获异常,那么在抛出异常的时候,使用throw和throw ex有什么区别呢?

假如,按顺序调用以下几个方法:

  • 在Main方法中调用Method1方法,try/catch捕获异常
  • 在Method1方法中调用Method2方法,try/catch捕获异常
  • 在Method2方法中故意抛出异常,try/catch捕获异常

使用throw抛出异常:

static void Main(string[] args){try{Method1();}catch (Exception ex){Console.WriteLine(ex.StackTrace.ToString());}Console.ReadKey();}static void Method1(){try{Method2();}catch (Exception ex){          throw;}}static void Method2(){try{throw new Exception("来自方法2的异常");}catch (Exception ex){                throw;}}

结果表明:使用throw抛异常,会把发生在Method2方法、Method1方法和Main方法中的异常全部抛了出来。 

如果在Method1方法中,改用throw ex抛出异常,则只会把Method1方法和Main方法中的异常抛出来。

总结:获取最完整的StackTrace信息,请使用throw抛出异常,这样可以知道异常到底来自哪个方法。

可参考:Is there a difference between “throw” and “throw ex”?

2.异常机制及throw与throws的区别

转载于:https://www.cnblogs.com/carsonzhu/p/8399633.html

C# Note34: 异常机制相关小点相关推荐

  1. 为什么要使用异常及java异常的使用--及js、php、golang的异常机制

    为什么要使用异常 使用场景引入 假设我们在用户操作前,要判断用户登录是否过期以及是否被禁言.那么,自然而然需要写一个判断登录是否成功,以及如果没有登录引导用户去登录的函数.然而,普通的函数的retur ...

  2. C++异常机制的实现方式和开销分析(作者:白杨)

    C++异常机制的实现方式和开销分析 白杨 http://baiy.cn 在我几年前开始写<C++编码规范与指导>一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了.没想到时隔 ...

  3. java深入浅出解析异常机制

    java中的异常处理的目的在于通过使用少量的代码,使得程序有着强大的鲁棒性,并且这种异常处理机制会让你变得非常自信:你的应用中没有你没处理过的错误.处理异常的相关手法看起来是这么的难懂,但是如果掌握的 ...

  4. Java 语言基础(异常机制和File类,IO流,多线程,网络编程,反射机制)

    原文:Java 语言基础(异常机制和File类,IO流,多线程,网络编程,反射机制) 异常机制和File类 异常机制 基本概念 异常就是"不正常"的含义,在 Java 语言中主要指 ...

  5. Java异常机制的最佳实践

    文章目录 1 异常概念 1.1 历史中所谓的"异常" 解决方案 2 基本异常 简单的例子 抛出异常后 抛出异常的简单例子 异常模型的观点 异常参数 3 异常捕获 3.1 try 块 ...

  6. Java的知识点19——异常机制Exception

    异常(Exception)的概念 异常指程序运行过程中出现的非正常现象,例如用户输入错误.除数为零.需要处理的文件不存在.数组下标越界等. Java是采用面向对象的方式来处理异常的.处理过程: 1.  ...

  7. Java基础篇:异常机制

    目录: 一.为什么使用异常: 二.异常体系: 三.异常的捕捉--try.catch.finally: 四.关于异常的题: 五.自定义异常: 六.异常链: 七.异常的使用误区: 八:throw.thro ...

  8. [03] 为什么要使用异常机制

    因为代码经验和见识等原因,说实话现在对于异常的使用,我也算是理解甚少.为什么用?什么时候用?即便是在查阅了部分资料以后,也只能在这里提炼出部分自己能够理解的,以供参考和讨论. 1.使用异常的好处 1. ...

  9. java 异常机制_深入理解Java异常处理机制

    一.引子 try-catch-finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的"教训"告诉我,这个东西可不是想象中 ...

最新文章

  1. java beetl 视频_08.Beetl自定义方法以及直接访问java类方法---《Beetl视频课程》
  2. append 降低数组位数_腿粗有理!研究发现腿部脂肪多,能大幅降低患高血压的风险!...
  3. 高性能的MySQL(1)锁和MVCC
  4. 【数据结构与算法】之深入解析“整数转罗马数字”的求解思路与算法示例
  5. 分布式数据库相关概念介绍
  6. html 科幻模板,html5酷炫宇宙科幻周年庆典专题动画模板
  7. EM Algorithm
  8. matlab仿真卫星导航接收机信号干扰,卫星导航软件接收机多采样率信号处理技术...
  9. 苹果mac屏幕录像软件:ScreenFlow
  10. C#数组Array的基础知识及二位数组和数组的数组的区别
  11. MIT 最新 AI 医疗系统公布:“重症监护室干预” 与”电子医疗档案模型迁移“...
  12. 南方cass字体样式设置_cass改变字体格式 cass字体样式管理器
  13. 好看的PPT导航栏有哪些制作技巧
  14. R 包 rgl 安装失败, 报错 X11 not found but required, configure aborted 及解决方法
  15. ShowWindow函数
  16. 认证 (authentication) 和授权 (authorization) 的区别
  17. FIDO android客户端认证
  18. php订单超过未支付,商城订单未支付30分钟自动取消
  19. win10下yolov3训练自己的数据集
  20. Words, morphology, and lexicons 词、词法和词汇

热门文章

  1. ASP中的工具类函数收集
  2. Gulp 自动化的项目构建工具
  3. postgresql创建表
  4. 学习Windows2008——设计活动目录
  5. 关于版本控制工具GitHub安装报错
  6. 暂停发布,谢谢支持!
  7. AJPFX关于Set接口学习笔记及总结
  8. 分布式服务框架 dubbo/dubbox 入门示例(转)
  9. 【栈】日志分析(BSOJ2981)
  10. 在php.ini中safe_mode开启之后对于PHP系统函数有什么影响呢?