- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
异常是程序在执行时发生的事件,它会打断指令的正常流程,如除0溢出、数组越界、文件找不到等。(异常时运行期间产生的错误)
如果遇到了异常那么我们就应该处理这个异常。
Java中使用 try{ 可能出现异常的一句}catch(异常类异常对象){异常处理 }
通过异常可以是程序很好的完结
实际上对于Java来讲每当程序出现了一个异常实际上就是产生了一个异常类的实例化对象。
//所有异常的父类是Throwable
一般情况下在程序捕获的时候不要使用Throwable,他表示的范围太大
不要指望你的程序永远不会出错
Java程序运行过程中所发生的异常事件可分为两类:
错误(Error):JVM系统内部错误、资源耗尽等严重情况
异常(Exception):其它因编程错误或偶然的外在因素导致的一般性问题,例如:
对负数开平方根空指针访问
试图读取不存在的文件网络连接中断
如果出现了异常,系统将不允许程序继续向下运行.那么此时我们应该如何操作
如果不能正确的往下执行那么我再次后编写的代码应该如何去执行那?异常处理:程序在出现问题的情况时依然可以正确的执行完.
在捕获异常的时候要把异常的子类放在父类的前面进行捕获说白了就是将范围小的异常放在范围大的异常之前来进行捕获。
throws在方法的声明处可以使用throws关键字这样的在方法中就不需要捕获异常,而交给被调用处去处理
如果在主方法出继续使用throws把异常向上抛那么此时所有的异常交个了java虚拟机处理throw:在java中可以用thorw关键字人为的抛出一个异常,异常处理中异常实际上是产生了一个异常类的实例化对象,那么此时也可以通过抛出异常对象的方式来完成
thorw+异常对象手动抛异常练习题:
定义一个方法此方法名为getMoney()
方法中有个一个简单的除法运算,
现在要求在执行除法运算之前打印 计算开始了在执行除法运算完毕之后打印 计算结束了如果出现了异常那么在调用处捕获
自定义异常:
自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,
//根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。
error和exception有什么区别
Error类和Exception类都继承自Throwable类。Error的继承关系:
java.lang.Object
--java.lang.Throwable
--java.lang.Error
Exception的继承关系:
java.lang.Object
--java.lang.Throwable
--java.lang.Exception二者的不同之处:Exception:
1.可以是可被控制(checked)或不可控制的(unchecked)2.表示一个由程序员导致的错误
3.应该在应用程序级被处理Error:1.总是不可控制的(unchecked)
经常用来用于表示系统错误或低层资源的错误
如何可能的话,应该在系统级被捕捉
Java中定义了两类异常:
这类异常都是Exception的子类。异常的向上抛出机制进行处理,假如子类可能产生A异常,那么在父类中也必须throwsA异常。可能导致的问题:代码效率低,耦合度过高。
2)Uncheckedexception:这类异常都是RuntimeException的子类,虽然RuntimeException同样也是Exception的子类,但是它们是非凡的,它们不能通过clientcode来试图解决,所以称为Uncheckedexception。
另外:
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
Error称之为错误,由Java虚拟机产生并抛出,我们的程序不对其进行处理
Exception:所有异常类的父类,其子类对应了各种可能出现的异常情况,一般需要捕获,程序可以控制的
RuntimeException:一类特殊的Exception,如被0除,数组的下标超出了范围,其产生比较繁琐,处理麻烦,如果声明或者捕获将会对程序的可读性和运行效率影响很大,因此由系统自动的检测并讲他们交给缺省的异常处理程序
*一个需要注意的地方
在继承关系中:重写需要抛出与原方法所抛出一样的异常或不抛出异常
try catch finally throwsthrow error exception
先捕获小的异常在捕获大的异常
文档评论(0)