java Exception 自定义异常类

版权声明:该博客由石头猿在学习过程中自行总结的原创,博客中代码仅供参考,禁止使用非法途径! https://blog.csdn.net/qq_35981996/article/details/84348569

创建自定义的异常类需要继承自Exception类,并提供含有一个String类型形参的构造方法,该形参就是一场的描述信息,可以通过getMessage()方法获得。例如:

public class NullPointerException extends Exception{
	public NullPointerException(String message) {
	    super(message);
	  }
}

建立一个抽象德汽车父类,并创建显示信息的方法getInfo() 

public abstract class Polymorphic102 {
public abstract void getInfo();
}

 分别建立两个子类(BMW&Benz)继承父类,并重写父类的getInfo方法用来打印相关信息:

public class Benz102 extends Polymorphic102 {

	@Override
	public void getInfo() {
		//return "Benz";
		System.out.println("宾利");
	}

}
public class BMW102 extends Polymorphic102 {

	@Override
	public void getInfo() {
//		return "BMW";
		System.out.println("宝马");
	}

}

编写测试类进行测试: 

import java.util.Scanner;

public class Test102 {

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
      System.out.println("请输入需要购买的品牌");
      try {//监控异常
		String name = input.nextLine();
		Polymorphic102 car = getCar(name);
		car.getInfo();
			} catch (NullPointerException e) {
      System.out.println("车库无此类品牌车");
	}
      
      
	}
        //通过创建一个静态的方法来进行实例化
        //通过throws在类中声明之前自定义的异常,表示在运行中可能会出现该类异常
        //在本类中不处理该异常,通过调用该方法的对象去监控处理!
	 public static Polymorphic102 getCar(String name)throws NullPointerException{
		   if(name.equalsIgnoreCase("BMW")){
			   return new BMW102();
		   }
		   if(name.equalsIgnoreCase("Benz")){
			   return new Benz102();
		   }
		   else{
                          //抛出异常
			   throw new NullPointerException("车库无此类品牌车");
		   }
	

}
}

 通过上面例子我们可以实现用户自行选择购车功能,当用户输入品牌时车库无此类品牌时就会触发异常,然后进行处理:

 

猜你喜欢

转载自blog.csdn.net/qq_35981996/article/details/84348569