黑马程序员技术交流社区
标题: Java异常机制是什么? [打印本页]
作者: Y_Y 时间: 2013-10-28 22:42
标题: Java异常机制是什么?
Java异常机制是什么?
作者: Cola 时间: 2013-10-28 23:19
Java中的异常处理机制 http://bbs.itheima.com/thread-42130-1-1.html (出处: 黑马程序员训练营论坛)
作者: Cola 时间: 2013-10-28 23:20
Java中的异常处理机制 http://bbs.itheima.com/thread-42130-1-1.html (出处: 黑马程序员训练营论坛) ,你说的是这个吗?
作者: 靓仔 时间: 2013-10-29 08:38
异常:就是程序在运行时出现不正常情况 异常的由来:问题也是现实生活一个具体的事物,也可以通过java的类的形式进行描述,并封装对象 , 其实就是java对不正常进行描述的对象体现 对于问题的划分:两种:一种是严重的问题,一种非严重的问题 对于与非严重的,java通过Exception类进行描 对于Exception可以使用针对性处理方式进行处理。 无论Error或者Exception都具有一些共性内容。 比如:不正常情况的信息,引发原因等。在函数上声明异常 便于提高安全性,让调用者进行处理,不处理编译失败,在函数上声明异常 便于提高安全性,让调用者进行处理,不处理编译失败,因为项目中会出现特有的问题
而这些问题并未被java所描述并封装对象
所以对于这些特有的问题可以按照java的对问题封装的思想
将特有的问题,进行自定义的异常封装
自定义异常
需求:在本程序中,对于除数是负数,也视为是错误的无法进行运算的。
那么就需要对这个问题进行自定义的描述
当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作
要么在内部try catch处理
要么在函数上声明让调用者处理
一般情况下,函数内出现异常,函数上需要声明。
发现打印的结果中只有异常的名称,缺没有异常的信息,这是因为自定义的异常并未定义信息
如何定义异常信息呢?
因为父类中已经把异常的信息的操作都完成了
所以子类只要在构造时,将异常信息传递给父类通过super语句
那么就可以直接通过getMessage方法获取自定义的异常。
throws和throws的区别
throws使用在函数上。
throw使用在函数内
throws后面跟的是异常类,可以跟多个,用逗号隔开
throw后面跟的异常对象
就这么多吧,打字也容易
作者: Rockray 时间: 2013-10-29 08:54
本帖最后由 Rockray 于 2013-10-29 09:02 编辑
异常,就是指程序在运行时出现不正常的情况。 异常也是某种意义上的错误,就是问题,虽然编译通过了,但会导致运行失败。
(1)异常的由来:
问题也是现实中的一个具体的事物,也可以通过Java类的形式进行描述,并封装成对象。
其实就是Java对不正常情况进行描述后的对象体现。
问题封装成对象。
(2)对于问题的划分,分为两种:
一种是严重的问题,一种是非严重的问题。
对于严重的,Java通过Error类进行描述。
对于Error,一般不编写针对性的代码对其进行处理。
对于不严重的,Java通过Exception类进行描述。
对于Exception,可以使用针对性的处理方式进行处理。
无论Error还是Exception,都具有一些共性的内容。
比如:不正常的信息,引发原因等。
函数有异常发生时,函数就停止,所以两个异常不能同时处理。
异常的处理
Java提供了特有的语句对异常进行处理。try{ 需要被检测的代码;}catch(异常类 变量){ 处理异常的代码;}finally{一定会执行的语句;}(1)对捕获到的异常进行常见方法操作://e为异常对象e.toString(); //打印异常的简短描述String getMessage(); //获取异常的信息e.printStackTrace(); //JVM默认的异常处理机制,就是在调用printStackTrace()方法打印异常的堆栈跟踪信息。(2)在函数上声明异常,即 throws Exception便于提高安全性,要捕获进行处理,不处理编译失败。函数后使用 throws 关键字声明此函数可能会出现问题。
其实你可以看下毕向东老师的异常总结的那个视频,总结的挺全面的
作者: 王新年 时间: 2013-10-29 10:28
异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |