原文地址:what is an exception?

定义:一个异常是在运行程序时,所遇到的一个事件,而这个事件破坏了程序执行的正常流程!

当在一个方法中遇到错误时,这个方法创建一个对象,并操作这个对象进入运行时系统(创建并移入运行时系统的这个过程,叫做抛出一个异常)。这个被创建的对象,叫做异常对象,它包含的信息有:错误(程序所遇到错误的类型、状态)。

在方法抛出一个异常后,运行时系统试图去找到一些东西去处理它。而处理异常的“一些东西”是一系列方法的集合。这些方法只有当错误产生时,才会被调用。这一系列的方法,也被人称作调用堆栈(看下图)

运行时系统在堆栈中搜索一个代码块方法去处理这个异常,这个代码块被称作异常处理程序。而搜索的过程,则先从方法产生错误的地方开始,以调用方法相反的顺序去调用堆栈信息。当一个适当的处理程序被发现,运行时系统将异常移交给这个处理程序。如果抛出的异常对象的类型与处理程序可以处理的类型匹配,则异常处理程序被认为是适当的。

异常处理程序的选择叫做捕捉异常。如果运行时系统完整地搜索调用堆栈上的所有方法,仍然没有找到合适的异常处理程序,运行时系统(以及程序)终止。如下图所示:

与传统的错误处理机制相比,使用异常去管理错误具有一些优势。具体详情,请看:异常的优势   (备注:异常的优势,暂时定向到原文地址,在翻译完成后,予以修改!)

转载于:https://www.cnblogs.com/hhx626/p/7534588.html

【异常 1】什么是异常相关推荐

  1. 异常检测概念、异常检测的思路、孤立森林Isolation Forest、​​​​​​​局部异常因子LOF、OneClassSVM、EllipticEnvelop

    异常检测概念.异常检测的思路.孤立森林Isolation Forest.局部异常因子LOF.OneClassSVM.EllipticEnvelop 目录

  2. python——异常(1),捕获特定异常

    python--异常(1),捕获特定异常 参考文章: (1)python--异常(1),捕获特定异常 (2)https://www.cnblogs.com/kekefu/p/12317986.html ...

  3. Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处

    Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处 参考文章: (1)Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处 (2)ht ...

  4. Spring MVC全局异常后返回JSON异常数据

    Spring MVC全局异常后返回JSON异常数据 参考文章: (1)Spring MVC全局异常后返回JSON异常数据 (2)https://www.cnblogs.com/exmyth/p/560 ...

  5. Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别

    Java 创建用户异常类.将异常一直向上抛. throw和throws的区别 参考文章: (1)Java 创建用户异常类.将异常一直向上抛. throw和throws的区别 (2)https://ww ...

  6. 异常导致循环退出_Java异常有哪些?异常怎么处理?

    有金钱之外的思想,保留一点自己值得自傲的地方,人生活得更加有意义. 简介 写程序的过程中,会遇到很多问题.比如:你写了个接口,然后用户输入的接口参数并不满足你的要求,导致程序出了一些问题,这个时候我就 ...

  7. 抛出运行时异常的目的_「JAVA」运行时异常、编译时异常、自定义异常,通过案例实践转译和异常链...

    Java基础之异常处理机制 什么是异常 从事Java开发的小伙伴对于"异常"应该不陌生,因为每天都会遇到不少异常,或捕获,或抛出.那究竟什么是异常?异常即非正常的,不同于平常.一般 ...

  8. Java中非法参数的异常_Java中的异常

    异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...

  9. 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...

    大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣.但是细心网友指出,第三和第二重复了. 转载于:https://www.cnblogs.com/yanbinboy/archive/ ...

  10. Windows核心编程 第2 4章 异常处理程序和软件异常

    异常处理程序和软件异常 C P U引发的异常,就是所谓的硬件异常(hardware exception).操作系统和应用程序 也可以引发相应的异常,称为软件异常(software exception) ...

最新文章

  1. 蓝桥杯-答疑-java
  2. mysql+实例夯住的监控_Nagios 里面监控MySQL 监控事务夯住(RUNNING)报警通知
  3. 反向域名解析的用途,如何设置?
  4. 每日一皮:程序员距离人生目标只有一个沟
  5. 【代码笔记】Web-JavaScript-JavaScript调试
  6. Android各种各样的Drawable-更新中
  7. 存储过程实现可扩展灵活接口
  8. 19 PP配置-生产计划-定义冻结库存不参与MRP运算
  9. mac下安装mysql-pyhon_mac下安装MySQL-python模块
  10. 【高并发】JUC中的Executor框架详解1
  11. C++中的STL和MFC
  12. python--requests库 安装及简单使用
  13. 图书管理系统(数据库)
  14. C语言 | 条件运算符
  15. 移动医疗仍处于烧钱阶段,海量流量难变现
  16. impala 时间格式转换
  17. CImage类之GetBits、GetPixel、GetPitch、GetBPP应用
  18. 集成开发faceunitySDK
  19. 台式计算机怎么截屏,台式电脑,怎么截图全屏?
  20. QT 使用数据流方式QDataSteam读写结构体数据

热门文章

  1. IIS7里的appcmd命令
  2. 提升内外网文件交换安全性,这里有5点建议
  3. [转载]【深入Java虚拟机】之四:类加载机制
  4. 0108 点击时 大小图
  5. HDU 4609 3-idiots (FFT)
  6. 2013杭州网赛 1001 hdu 4738 Caocao's Bridges(双连通分量割边/桥)
  7. windows进程间通信
  8. 使用POI完成 EXCEL的 导出和导入
  9. 再议动态二维数组,通过一句表达式完成矩阵的转置
  10. 强烈推荐深入浅出jBPM