--异常
*异常是java提供的处理程序中运行时错误的一种机制
*java程序在执行过程中如果出现异常,会生成一个异常类实例,该实例封装了异常的信息交给java运行时系统,这一过程叫抛出异常
*当异常抛出时如果没有捕获那么java运行时默认的处理方式是将异常信息打印到控制台
*所以一般情况下需要在异常被抛给运行时系统之前将其捕获
--异常体系结构
--Error(系统的内部错误是程序员无法控制的错误,虚拟机错误)
Object--Throwable-- --(一般的Exception必须要显示的捕获)
--Exception-- (程序员可以控制的错误)
--RuntimeException(运行时异常,不需要显示捕获)
*只要是Throwable的实例或者它的子类的实例都能被throws(方法中),也能被throw(代码块中)
*Exception我能处理的
*Error系统断电,无法处理
*RuntimeException--经常出的错误(可以逮它可以不逮它,比如一些小错误)
*一般异常是指比较重大的错误(要求必须处理后才能继续运行)
--一般异常和运行时异常的区别
一般异常是编译器可以“感知”的异常,所以程序被要求必须捕获并处理这些异常,一般是比较严重的异常,并且JDK中声明抛出的方法抛出的都是该类型的异常,也就是必须要要捕获的异常
而运行时异常时是程序经常发生的异常,不是很严重的异常,可以捕获也可以不捕获,编译器不感知这类异常,如果这类异常全需要处理的话那程序效率会受到一定得影响
我这里用是否严重来区分两者只是在编译器层面做一定的分析,实际上任何异常都因该考虑!写健壮点总会减少一定得问题
Error编译器也不会自动感知
--printStackTrace()
*只将异常的所有堆栈信息全部打印,包含抛出异常的方法的位置,调用该方法的位置,这就是堆栈信息
--getMessage()方法就是返回构造进去的字符串信息
--
try{
...
}catch(Exception e){
...
}catch(AtimeticException e){
...
}
这是无法通过编译的,尝试去理解编译器就能很好的理解这样的问题了
--什么是API---引文翻译:Application Programming Interface应用程序编程接口
--异常在继承中方法重写中的一个问题
*如果父类的方法抛出异常,子类在重写这个方法的时候要么抛出相同的异常要么什么也不抛出,如果什么也不抛出不会继承父类方法的抛出特性(这里和指针移位有点冲突)
*注意一个原则编译时不会有多态的情况发生,也是试图从编译器的角度去考虑问题就行了
*为什么继承能这样做,记住一个原则所重写的方法的限制必须要比父类的宽松才能实现多态
public class Test {
public void function() throws Exception{
throw new Exception("test");
}
}
class Test2 extends Test{
public void function(){//这样是比限制父类的宽松
}
}
class App{
public static void main(String[] args){
Test t=new Test2();
t.function();//这样是错误的
Test2 t=new Test2();
t.function();//这样是可以的
}
}
[size=medium][/size]
分享到:
相关推荐
java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理
高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
java 异常详解,java异常分类,创建自己的异常
java异常处理的习题,撒个的是的风格成本凡人歌是东方按时到岗
Java异常
Java异常学习资料,Java异常学习资料,Java异常学习资料
本资源主要描述java异常的知识,里面内容丰富,是java初学者的学习手册,java异常机制小结。
java异常的终极总结 包括非常全面的异常总结 你值得下载!
C++ Java异常处理比较
java 异常处理 代码实例java 异常处理 代码实例
有效处理JAVA异常三原则有效处理JAVA异常三原则有效处理JAVA异常三原则
超全的java异常体系结构以及异常的处理方案,Throwable->Exception-> RuntimeException
java学习之Java异常.ppt
java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解
本表格集中了所有的java异常 并清晰的加以描述
Java异常详解_动力节点Java学院整理,动力节点口口相传的Java黄埔军校
个人关于java异常处理的思维导图总结。0积分下载。如果认为有帮助,请关注点赞,日后还有更多免费资源。敬请关注。
摘要使用Java异常的人很多,但能合理使用的却不多,Java异常处理设计是一个冷门的话题,但好的异常设计会让程序有质的变化,所以本文从各个方面分析便总结了,在J
Java论文异常处理论文:JAVA异常处理的分析与研究.doc