Java中的异常
1、Throwable
- java.lang.Throwable有两个子类(Error,Exception)
- Throwable中的方法
1、Striing getMessage()对异常信息的详细描述。
2、String toString()对异常信息的短描述。
3、void printStackTrace()将异常信息追踪到标准的错误流。
throw关键字
在编写程序的时候,我们必须考虑程序出现问题的情况,比如:在定义方法的时候,方法需要接收参数。那么,当调用方法去使用接收到的参数时,首先需要对参数进行合法的判断,数据如果不合法就应该去告诉调用者,传递合法的参数进来。需要使用抛出异常的方式去告诉调用者。
在JAVA中使用了throw关键字去抛出异常。
异常的处理方式
- try{
//可能发生异常的代码
}catch(Exception e){
//异常的处理方式
}finally{
//必须要执行的代码
}
注意:如果try检测到异常,抛给catch代码块去捕获并处理这个异常 - throws
- 自定义异常
运行时异常
运行时异常的特点:
- 方法内部抛出的异常是运行时异常(或其子类)的时候,方法不用throws声明。
设计原因:运行异常就不能发生,但是一旦发生 ,后面代码就没有执行的意义。程序人员停止程序修改源代码。
方法重写时候异常的处理:
- 父类的方法如果抛出异常,子类重写后可以不进行异常的抛出。如果子类抛异常,那么,子类抛出的异常要小于父类抛出的异常。
- 如果父类方法没有抛出异常,那么子类也不能去抛出异常
2、自定义异常
java的JDK里面中内置了很多的异常,我们也可以自定义自己的异常。
注意:类命名规范:XXXException
// Demo继承Exception或者RuntimeException
public class FuShuException extends Exception/RuntimeException{
public FuShuException(){};
public FuShuException(String s){
super(s);
}
}
注意:大部分异常都是RuntimeException