?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 手动抛出异常