本文实例讲述了Java异常处理操作。分享给大家供大家参考,具体如下:
一 异常处理的使用——能够捕获到异常
1 代码
public class DealException { public static void main( String[] args ) { try // 检查这个程序块的代码 { int arr[] = new int[5]; arr[10] = 7; // 在这里会出现异常 } catch( ArrayIndexOutOfBoundsException e ) { System.out.println( "数组超出绑定范围!" ); } finally // 这个块的程序代码一定会执行 { System.out.println( "这里一定会被执行!" ); } System.out.println( "main()方法结束!" ); } }
2 运行
数组超出绑定范围!
这里一定会被执行!
main()方法结束!
二 异常处理的使用——不能够捕获到异常
1 代码
public class DealException { public static void main( String[] args ) { try // 检查这个程序块的代码 { int arr[] = new int[5]; arr[10] = 7; // 在这里会出现异常 } catch( ArithmeticException e ) { System.out.println( "算术异常" ); } finally // 这个块的程序代码一定会执行 { System.out.println( "这里一定会被执行!" ); } System.out.println( "main()方法结束!" ); } }
2 运行
这里一定会被执行!
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at DealException.main(DealException.java:9)
3 说明
对于未捕获到异常场景,finally语句块会执行,但finally语言块之后的语句不能执行,将异常交给JVM去处理,最后停止程序运行。
三 异常对象ex的使用
1 代码
public class excepObject { public static void main( String[] args ) { try { int arr[] = new int[5]; arr[10] = 7; } catch( ArrayIndexOutOfBoundsException ex ) { System.out.println( "数组超出绑定范围!" ); System.out.println( "异常:" + ex ); // 显示异常对象e的内容 // ex.printStackTrace(); } System.out.println( "main()方法结束!" ); } }
2 运行
数组超出绑定范围!
异常:java.lang.ArrayIndexOutOfBoundsException: 10
main()方法结束!
四 通过多个catch捕获异常
1 代码
public class arrayException { public static void main( String args[] ) { System.out.println("-----A、计算开始之前"); try { int arr[] = new int[5]; ; arr[0] = 3; arr[1] = 6; arr[1] = 0; // 除数为0,有异常 arr[10] = 7; // 数组下标越界,有异常 int result = arr[0] / arr[1]; System.out.println("------B、除法计算结果:" + result); } catch (ArithmeticException ex) { ex.printStackTrace(); } catch (ArrayIndexOutOfBoundsException ex) { ex.printStackTrace(); } finally { System.out.println("-----此处不管是否出错,都会执行!!!"); } System.out.println("-----C、计算结束之后。"); } }
2 运行
-----A、计算开始之前
java.lang.ArrayIndexOutOfBoundsException: 10
at arrayException.main(arrayException.java:19)
-----此处不管是否出错,都会执行!!!
-----C、计算结束之后。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。