Java基础之异常机制

 
Java基础之异常机制

总体异常的分类

处理异常的方式

打印异常的方法

具有继承关系的异常

自定义异常类

创作不易,如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。


Java有着非常强大的异常处理机制,异常的祖先是Throwable,有如下两个子类:

       Error:表示错误,错误产生后程序员不能通过代码的方式纠正,只能事先避免,好比生命已经停止。

       Exception:表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的 

异常分为编译时异常运行时异常

编译时异常又叫编译时被监测的异常:在程序编译过程中监测到非运行时异常的异常,出现该异常要么向上抛出,要么捕获处理。

运行时异常(runtimeException及其子类):在程序编译过程中监测到出现运行时异常,函数上或内部可以直接抛出异常,不需要捕获和声明。 

总体异常的分类

处理异常的方式

     抛出异常  throw  

     声明异常  throws      向上抛出 

     异常捕获  try-catch   自己处理

static  String[] usernames={"张三","赵四","王五"};
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入注册的名字!");
        String next = sc.next();
        //try-catch捕获异常
        try {
            checkUsername(next);
        } catch (RegisterException e) {
            e.printStackTrace();
        }
    }
    public static void checkUsername(String usrename) throws RegisterException {//声明异常
        for (String name : usernames) {
            if (name.equals(usrename)){
                throw new RegisterException("亲,该用户已经被注册!");//抛出异常
            }
        }
        System.out.println("恭喜您,注册成功!");
    }

打印异常的方法

     public String getMessage() :获取异常的描述信息,原因(提示给用户的时候,就提示错误原因。

     public String toString() :获取异常的类型和异常描述信息(不用)。

     public void printStackTrace() :打印异常的跟踪栈信息并输出到控制台

具有继承关系的异常

如果父类抛出了多个异常,子类重写父类方法时,抛出和父类相同的异常或者是父类异常的子类或者不抛出异常。

父类方法没有抛出异常,子类重写父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出

自定义异常类

需要继承Exception(编译器异常)或者RunTimeException(运行时异常)

public class RegisterException extends Exception {

	public RegisterException() {
	}
	
	public RegisterException(String message){
	    super(message);
	}
}

创作不易,如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。

猜你喜欢

转载自blog.csdn.net/promsing/article/details/112408071
今日推荐