1.SUN提供的JDK内置的异常肯定是不够用的。在实际开发中,有很多业务,这些业务出现异常之后,JDK中都是没有和业务挂钩的。那么异常类我们程序员可以自已定义吗?可以
2.java中怎么自定义异常呢?
两步:
第一步:编写一个类继承Exception或者RuntimeException
第二部:提供两个构造方法,一个无参数的,一个带有String参数的
/*
public class MyException extends RuntimeException{ //运行时异常
}
*/
public class MyException extends Exception{ //编译时异常
public MyException(){
}
public MyException(String s){
super(s);
}
}
public class ExceptionTest15{
public static void main(String[] args){
//创建异常对象(只new了异常对象,并没有手动抛出)
MyException e = new MyException("用户名不能为空");
//打印异常堆栈信息
e.printStackTrace();
//获取异常简单的描述信息
String msg = e.getMessage();
System.out.println(msg);
}
}
重写之后的方法不能比重写之前的方法抛出更多(更宽泛)的异常可以更少
异常中的关键字:
异常捕捉:
try
catch
finally
throws 在方法声明位置上使用,表示上报异常信息给调用者
throw 手动抛出异常