都用try{ }语句尝试抛出,并用catch(异常类型){ 处理方式 } 来进行处理。throw 是在try{ }语句中通过java虚拟机自动创建对象并抛出,通过catch(异常类型)来接收。
throws是在方法外部抛出的,是此方法不能处理的异常。或者没有catch语句。- public class TestC
- {
- public static void main(String[] args)
- {
- A a1 = new A();
- try
- {
- a1.a(4);
- } catch (NullPointerException e)
- {
-
- e.printStackTrace();
- }
-
- }
- }
- class A
- {
- public void a(int a) throws ArrayIndexOutOfBoundsException
- {
- B b1= new B();
- try
- {
- b1.b(a);
- } catch (ArrayIndexOutOfBoundsException e)
- {
- throw e;
- }
- }
- }
- class B
- {
- public void b(int a) throws ArrayIndexOutOfBoundsException
- {
- int [] arr={1,2,3};
- try
- {
- System.out.println(arr[a]);
-
- } catch (ArrayIndexOutOfBoundsException e)
- {
- // TODO: handle exception
- throw e;
- }
- }
-
- }
复制代码 |