今天主要讲了一些异常处理这方面的内容:
异常分为两类,一类是非受检异常 ,另一类为受检异常。 顾名思义,非受检异常,就是可以不处理的异常,因为这些异常要不就是太大,根本解决不了的,要不就是很轻微,在Throwable类下的Erro和RuntimeException 都属于非受检异常。 受检异常是必须处理的异常,Exception类的除了RuntimeExcep以外的所有子类都属于受检异常。
异常的处理主要有三种方式,第一种为捕获,使用try-catch-finally语句
try{
//这里面为可能出现异常的语句;
}catch(异常类型 引用变量){
//这里为捕获到对应异常类型的异常时所执行的语句
//一般调用 getMessage(),或者printStackTrace()方法。
}....{
//其后可以接多个catch语句,尽量列全所有可能出现的异常类型
//为了以防万一,最后一个catch可以用Exception来捕获,防止有未想到的异常。
}finally{
//这里的语句不论上述语句执行情况如何,都会运行;
}
第二种为直接抛出。很简单,就是在方法签名后throws(注意有s)加异常类型,方法体中throw一个异常类型对象。
Public static int divide(int x, int y )throws ArithmeticException{
If(y == 0 ){
throw new ArithmeticException(“不能除以0!”);
}
return x / y ;
}
后面的try catch 语句就省略不写了,这样就是直接抛出异常了。
第三种呢,就是捕获并抛出异常,一般都会将捕获的异常类包装为自定义的异常类,这样在以后的处理中,可以较快的分辨出异常所处的位置。一般情况下,会先自定义一个异常类。
public class MyException extends Exception{
public MyException(String message){
super( message);//这里面调用了父类的构造器。
}
public MyException(Exception e){
super(e);
}
}
Public static int divide(int x, int y )throws MyException{
try{
return x / y ;
}catch(ArithmeticException e){
throw new MyException(e);
}
}
同样省略了后面的try catch语句,这样自定义异常的方式在后面应该会有很大的用处。
有这么多异常处理方式,到底什么时候选用何种处理方式呢?简单来说就是“如果是顶层方法 捕获处理, 如果是底层方法 抛出”我是这么理解的,这里说的顶层方法为main()方法或run方法,在这里相当于是老大,底层方法为小弟,如果小弟在运行时发生异常,最好要抛出,交给上级来解决,他自己继续执行自己的程序,如果老大运行时有异常,抛出也没有意义了,因为抛出的话只能交给JVM了,也是程序崩溃,不如直接捕获。
小弟刚刚接触,理解不深,希望大神们不要介意。
还有,异常类是可以继承的,不过继承的时候要注意以下三点:
第一点:,方法重写时,方法签名一致(包括,返回值类型,方法名和参数列表);
第二点:子类的修饰符只能大于或者等于父类的修饰符。
第三点是需要特别注意的,就是子类抛出异常的类型必须小于或者等于父类抛出的异常类型。
今天主要就是这些内容了,其他时间都是老师在教我们简单用了用eclipse,估计以后大部分时间都用eclipse了,不过wp大神推荐了一款很好的软件intliJ,p神推荐,肯定没的说了,改天试一下。
今天的学习状态感觉还可以吧,希望以后也能保持好这种状态吧,今天就到这儿了,困了,洗洗睡了,感谢大神见证我的成长之路!
<!--EndFragment-->
相关推荐
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异常处理零基础学Java异常处理零基础学Java异常处理...
Java论文异常处理论文:JAVA异常处理的分析与研究.doc
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解java高端技术课程--Java异常处理详解
Java 异常处理的 9 个最佳实践,在处理异常时可以参考。
深入理解java异常处理机制,很详细的,去了,你们的!
摘要使用Java异常的人很多,但能合理使用的却不多,Java异常处理设计是一个冷门的话题,但好的异常设计会让程序有质的变化,所以本文从各个方面分析便总结了,在J
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
此文档主要讲解了java异常处理的基本问题,适合初学者,比较详细,有范例,有讲解.
Java 异常处理的误区和经验总结 本资料共包含以下附件: Java 异常处理的误区和经验总结.pdf
第7章 java异常处理
java异常处理例题代码.pdf
简单,易懂的方式讲解C++与java异常处理的方法,两者的异同
JAVA异常处理试题及答案.pdf
什么时间使用runtimeException,什么时间使用Exception,大家有没有被困扰到?经整理,JAVA异常处理框架,以及如何构造自己的异常体系,讲得比较详细,值得一看。