薛磊 Job Seeker

Java异常类

2019-03-23

异常类

  异常:程序执行出现的错误。

  Java对于异常内容进行了区分和设置类型,我们把这种内容叫做异常类。异常类中异常是继承关系。

  在Java类中,给我们提供了两种异常类:Exception、Error。

  Exception:程序运行时异常,这种异常程序给我们提供了解决办法 try catch。

  Error:JVM异常,程序无法处理,大多是程序员编写不符合Java规范。

异常类关系图

常见异常

  java.lang.ArithmeticException 算数逻辑异常

  java.lang.ArrayIndexOutOfBoundsException 下角标越界异常

  java.lang.NullPointerException 访问成员为空

  java.lang.ClassCastException类型转化异常

  java.util.InputMismatchException 输入数据类型异常

自定义异常类

  在开发中,可以认为的设置异常。

  自定义异常必须为类,而且继承Exception或RuntimeException。

class MyException extends Exception{
	public MyException() {}
	//Exception(s),当发生该异常时,打印s异常信息。
	public MyException(String s) {
		super(s);
	}
}

受检查异常和不受检查异常

  受检查异常编译器在编译期间检查。对于这种异常,方法强制处理或者通过throws子句声明。其中一种情况是Exception的子类但不是RuntimeException的子类。

  非受检查是RuntimeException的子类,在编译阶段不受编译器的检查。

try catch

  try catch 解决异常

  如果try里可能出现多种异常,catch该怎么办?

  可以通过catch里的异常类别区分,发生什么异常就去执行哪个catch语句,类似于switch中的case语句

  try{
  	//可能出现异常的语句
  }catch(异常类 异常类对象){
  	//异常处理语句
  }finally{
  	//一定会执行的语句!
  }

throw和throws

  throw用于抛出java.lang.Throwable类的一个实例化对象,意思是说可以同过关键字throw抛出一个Error或者一个Exception。

  throws的作用是作为方法声明和签名的一部分,方法被抛出相应的异常以便调用者能处理。Java中,任何未处理的受检查异常强制在throws子句中声明。



#

The End!


上一篇 Java常用API

Comments

Content