java 异常处理之声明抛出异常

版权声明:尊重原创,码字不易,转载需博主同意。 https://blog.csdn.net/qq_34626097/article/details/83594209

2.声明抛出异常是Java中处理异常的第二种方式

  1. 如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。
  2. 在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类。
    声明抛出异常举例:
public class TestException2 {
	//常规处理方式
	public static void main(String[] args) {
		TestException2 t = new TestException2();
		try {
			t.method2();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	//抛,常规不使用该方式处理异常
	public static void main(String[] args) throws IOException{//main方法在往上就是JVM了
		TestException2 t = new TestException2();
		t.method2();
	}
	public void method2() throws IOException{//往上抛,抛给他的调用者
		method1();
	}
	public void method1() throws FileNotFoundException,IOException{//往上抛,抛给他的调用者
		FileImageInputStream fis = new FileImageInputStream(new File("testEception.txt"));
		int b;
		while((b = fis.read()) != -1) {
			System.out.println((char)b);
		}
		fis.close();
	}
}

总结:

  • 格式,如:public void method1() throws FileNotFoundException,IOException{}
  • 当此方法在内部出现异常的时候,会抛出一个异常类对象,抛给方法的调用者。
  • 异常的对象可以逐层向上抛,直至main中,在向上抛的过程中,可以通过try-catch-finally捕获处理。
  • 使用的时候一般不会这个逐层往上抛,一般会在某个特定地方进行处理(try-catch),因为如果谁都不处理这个问题的话,程序就停止运行了。
  • 核心思想:(try-catch)在项目中使用最多,其在出现异常的时候,就是告诉程序怎么处理,如果一直抛出,那最后要处理的人,很可能就是不知道,当初出现问题是什么?
  • 项目中,一般不是编译不过的,不会用异常处理,具体是原因,可以思考一下,回复哩。。

猜你喜欢

转载自blog.csdn.net/qq_34626097/article/details/83594209
今日推荐