异常

1.异常是java运行中出现的问题的称呼。异常(Exception)的祖宗类是Throwable,与异常平级的Throwable的一个子类是Error,异常可以被处理,而错误(Error)无法被处理,只能重写源码。

2.Exception的一个子类RuntimeException是运行时出现异常使用的类。它不需要被抛出或处理,只能被重写,与Error类似。

3.异常处理的抛出是不断向调用者抛出,最终抛向JVM,而JVM只能用红字标出错误所在和终止程序。

4.在方法中判断异常的可能性,并用throw new Exception(String str)来向方法抛出问题,方法上会出现throws Exception来接收抛出的异常,此处的Exception是类名。然后在try catch的catch的()中用Exception e//可根据实际情况变化    接收异常,然后用Exception方法来打印到控制台上。

5.try catch finally格式

try{//被测试代码}catch(异常类名 变量名){//处理方式}finally{//一定被执行的代码}

6.如果没有一定被执行的代码,可以去掉finally。

7.可以使用一个try,多个catch的方法,但catch后面括号中的异常不能相同,并且若catch括号中的异常有子父类关系,子类要放在父类的前头,因为父类若放在前头,会发生多态,直接接收到子类的异常。

8.若父类没有声明异常,则子类也不能声明异常,只能重写或try catch处理。若父类声明了异常,则子类声明的异常不能超过父类声明异常的等级。

 

 

一个简单的抛出异常和处理异常的示例

public class Demo01 {

	public static void main(String[] args) {
		int[] arr={1,2,3};
		try{
		int x=count(arr);
		System.out.println(x);
		}catch(Exception e){
			//三种处理异常的方法,都是打印到控制台上通知语句
			e.printStackTrace();
			System.out.println(e.getMessage());
			System.out.println(e);
		}

	}
	//变量名后面的throws Exception是在声明异常
	public static int count(int[] arr) throws Exception{
		//判断条件,通过条件抛出异常
		if(arr.length<4){
			throw new Exception("数组长度不够");//抛出异常
		}
		int x=arr[4]*2;
		return x;
	}

}

 

posted @ 2018-06-14 20:02  张锐0328  阅读(134)  评论(0)    收藏  举报