代码演示
package Throw; public class Throw01 { public static void main(String[] args ){ int[] arr_a=new int[4]; System.out.println("接下来会有异常!"); arr_a[12]=123; System.out.println("End!"); } }
运行结果
try{ //可能会产生异常的代码 }catch(异常类型1 e){ //处理异常类型1的对象e }catch(异常类型2 e){ //处理异常类型1的对象e } //后续代码
package Throw; public class Throw02 { public static void main(String[] args ){ int[] arr_a=new int[4]; System.out.println("接下来会有异常!"); try { arr_a[12]=123; } catch (ArrayIndexOutOfBoundsException e) { //数组下标越界异常 System.out.println("数组下标越界异常!"); } System.out.println("End!"); } }
运行结果
代码演示
package Throw; public class Throw03 { public static void main(String[] args){ int[] arr_a=new int[4]; System.out.println("接下来会有异常!"); try { arr_a[12] = 123; }catch(Exception e){ e.printStackTrace(); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组下标越界异常!"); } System.out.println("End!"); } }
运行结果
try { // 可能产生异常的代码 }catch(Type1 e){ // 对异常类型Type1的异常处理代码 } ……… finally{ // 退出try/catch代码块后要执行的代码 }
代码演示
package Throw; public class Throw04 { public static void main(String[] args ){ int[] arr_a=new int[4]; System.out.println("接下来会有异常!"); try { arr_a[12]=123; } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组下标越界异常!"); }finally{ System.out.println("finally块执行了"); } System.out.println("=======分割线======="); try { arr_a[0]=123; } catch (ArrayIndexOutOfBoundsException e) { System.out.println("数组下标越界异常!"); }finally{ System.out.println("finally块执行了"); } System.out.println("End!"); } }
运行结果
throw e;
e是某个异常的实例对象。
package Throw; public class Throw05 { public static void main(String[] args ){ int[] arr_a=new int[4]; System.out.println("接下来会有异常!"); try { arr_a[12]=123; } catch (ArrayIndexOutOfBoundsException e) { throw e; //不做任何处理,直接抛出异常 } System.out.println("End!"); } }
运行结果
package Throw; public class Throw06 extends Exception { public Throw06(){ } public Throw06(String msg){ super(msg); } } package Throw; public class Demo { public static void main(String[] args) { int flag=101; if(flag>100){ try { throw new Throw06("分数不能大于100"); } catch (Throw06 throw06) { throw06.printStackTrace(); } } } }
运行结果