黑马程序员技术交流社区
标题:
关于异常...(已解决)
[打印本页]
作者:
曹俊
时间:
2012-6-12 09:50
标题:
关于异常...(已解决)
本帖最后由 曹俊 于 2012-6-12 23:36 编辑
这几天把毕老师视频的第9天的内容 异常看完了,但给我的一个感觉就是一头雾水,说明白也算明白,说不明白貌似也有很多地方不懂,思路理不清啊~~~~求各位高手们能帮我详细总结下异常么?
小弟不盛感激啊!!!{:soso_e183:}
作者:
杨康
时间:
2012-6-12 09:55
异常你就记住他的体系
throwable是根系,它的下面主要分error和exception。error是一般是指不可以修复的错误程序本身解决不了的,exception是可处理的异常也就是我们平时需要处理的。exception下主要分两大系一个是系统异常一个是一般异常,系统异常指的是runtimeexception下的子类们特点是可以不进行throw处理,一般异常java要求必需进行声明throw
作者:
郑冬
时间:
2012-6-12 09:58
异常
异常的体系
Throwable
Error
通常出现重大问题如:运行的类不存在或者内存溢出等。
不编写针对代码对其处理
Exception
在运行时运行出现的一起情况,可以通过try catch finally
Exception和Error的子类名都是以父类名作为后缀。
Throwable中的方法
getMessage()
获取异常信息,返回字符串。
toString()
获取异常类名和异常信息,返回字符串。
printStackTrace()
获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
printStackTrace(PrintStream s)
通常用该方法将异常内容保存在日志文件中,以便查阅。
throws和throw
throws用于标识函数暴露出的异常。
throw用于抛出异常对象。
throws与throw的区别:
thorws用在函数上,后面跟异常类名。
throw用在函数内,后面跟异常对象。
异常处理
try
{
需要检测的代码;
}
catch(异常类变量)
{
异常处理代码;
}
finally
{
一定会执行的代码;
}
Finally代码块只有一种情况不会被执行。就是在之前执行了System.exit(0)。
自定义异常
自定义类继承Exception或者其子类。
通过构造函数定义异常信息。
例:
Class DemoException extends Exception
{
DemoException(String message)
{
super(message);
}
}
通过throw将自定义异常抛出。
异常细节
RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数上声明。
一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子 类。
如果父类抛出多个异常,那么重写(覆盖)方法必须抛出那些异常 的一个子集,不能抛出新的异常。
作者:
刘笑
时间:
2012-6-12 10:12
1、Error
2、Runtime Exception 运行时异常
3、Exception
4、throw 用户自定义异常
异常类分两大类型:Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还包含运行异常类Runtime_Exception和非运行异常类Non_RuntimeException这两个直接的子类。
运行异常类对应于编译错误,它是指Java程序在运行时产生的由解释器引发的各种异常。运行异常可能出现在任何地方,且出现频率很高,因此为了避免巨大的系统资源开销,编译器不对异常进行检查。所以Java语言中的运行异常不一定被捕获。出现运行错误往往表示代码有错误,如:算数异常(如被0除)、下标异常(如数组越界)等。
非运行异常时Non_RuntimeException类及其子类的实例,又称为可检测异常。Java编译器利用分析方法或构造方法中可能产生的结果来检测Java程序中是否含有检测异常的处理程序,对于每个可能的可检测异常,方法或构造方法的throws子句必须列出该异常对应的类。在Java的标准包java.lang java.util 和 java.net 中定义的异常都是非运行异常。
作者:
黑马-王言龙
时间:
2012-6-12 10:15
自己总结的,才是“思路最清晰”的{:3_50:}
作者:
曹俊
时间:
2012-6-12 23:35
郑冬 发表于 2012-6-12 09:58
异常
异常的体系
Throwable
{:3_59:}谢谢啊,很详细,你是我偶像~~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2