【异常 1】什么是异常
原文地址:what is an exception?
定义:一个异常是在运行程序时,所遇到的一个事件,而这个事件破坏了程序执行的正常流程!
当在一个方法中遇到错误时,这个方法创建一个对象,并操作这个对象进入运行时系统(创建并移入运行时系统的这个过程,叫做抛出一个异常)。这个被创建的对象,叫做异常对象,它包含的信息有:错误(程序所遇到错误的类型、状态)。
在方法抛出一个异常后,运行时系统试图去找到一些东西去处理它。而处理异常的“一些东西”是一系列方法的集合。这些方法只有当错误产生时,才会被调用。这一系列的方法,也被人称作调用堆栈(看下图)
运行时系统在堆栈中搜索一个代码块方法去处理这个异常,这个代码块被称作异常处理程序。而搜索的过程,则先从方法产生错误的地方开始,以调用方法相反的顺序去调用堆栈信息。当一个适当的处理程序被发现,运行时系统将异常移交给这个处理程序。如果抛出的异常对象的类型与处理程序可以处理的类型匹配,则异常处理程序被认为是适当的。
异常处理程序的选择叫做捕捉异常。如果运行时系统完整地搜索调用堆栈上的所有方法,仍然没有找到合适的异常处理程序,运行时系统(以及程序)终止。如下图所示:
与传统的错误处理机制相比,使用异常去管理错误具有一些优势。具体详情,请看:异常的优势 (备注:异常的优势,暂时定向到原文地址,在翻译完成后,予以修改!)
转载于:https://www.cnblogs.com/hhx626/p/7534588.html
【异常 1】什么是异常相关推荐
- 异常检测概念、异常检测的思路、孤立森林Isolation Forest、局部异常因子LOF、OneClassSVM、EllipticEnvelop
异常检测概念.异常检测的思路.孤立森林Isolation Forest.局部异常因子LOF.OneClassSVM.EllipticEnvelop 目录
- python——异常(1),捕获特定异常
python--异常(1),捕获特定异常 参考文章: (1)python--异常(1),捕获特定异常 (2)https://www.cnblogs.com/kekefu/p/12317986.html ...
- Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处
Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处 参考文章: (1)Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处 (2)ht ...
- Spring MVC全局异常后返回JSON异常数据
Spring MVC全局异常后返回JSON异常数据 参考文章: (1)Spring MVC全局异常后返回JSON异常数据 (2)https://www.cnblogs.com/exmyth/p/560 ...
- Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别
Java 创建用户异常类.将异常一直向上抛. throw和throws的区别 参考文章: (1)Java 创建用户异常类.将异常一直向上抛. throw和throws的区别 (2)https://ww ...
- 异常导致循环退出_Java异常有哪些?异常怎么处理?
有金钱之外的思想,保留一点自己值得自傲的地方,人生活得更加有意义. 简介 写程序的过程中,会遇到很多问题.比如:你写了个接口,然后用户输入的接口参数并不满足你的要求,导致程序出了一些问题,这个时候我就 ...
- 抛出运行时异常的目的_「JAVA」运行时异常、编译时异常、自定义异常,通过案例实践转译和异常链...
Java基础之异常处理机制 什么是异常 从事Java开发的小伙伴对于"异常"应该不陌生,因为每天都会遇到不少异常,或捕获,或抛出.那究竟什么是异常?异常即非正常的,不同于平常.一般 ...
- Java中非法参数的异常_Java中的异常
异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...
- 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣.但是细心网友指出,第三和第二重复了. 转载于:https://www.cnblogs.com/yanbinboy/archive/ ...
- Windows核心编程 第2 4章 异常处理程序和软件异常
异常处理程序和软件异常 C P U引发的异常,就是所谓的硬件异常(hardware exception).操作系统和应用程序 也可以引发相应的异常,称为软件异常(software exception) ...
最新文章
- 蓝桥杯-答疑-java
- mysql+实例夯住的监控_Nagios 里面监控MySQL 监控事务夯住(RUNNING)报警通知
- 反向域名解析的用途,如何设置?
- 每日一皮:程序员距离人生目标只有一个沟
- 【代码笔记】Web-JavaScript-JavaScript调试
- Android各种各样的Drawable-更新中
- 存储过程实现可扩展灵活接口
- 19 PP配置-生产计划-定义冻结库存不参与MRP运算
- mac下安装mysql-pyhon_mac下安装MySQL-python模块
- 【高并发】JUC中的Executor框架详解1
- C++中的STL和MFC
- python--requests库 安装及简单使用
- 图书管理系统(数据库)
- C语言 | 条件运算符
- 移动医疗仍处于烧钱阶段,海量流量难变现
- impala 时间格式转换
- CImage类之GetBits、GetPixel、GetPitch、GetBPP应用
- 集成开发faceunitySDK
- 台式计算机怎么截屏,台式电脑,怎么截图全屏?
- QT 使用数据流方式QDataSteam读写结构体数据