1.运行java时. 出现了异常:
我这里是因为:arr[3]不存在:
java.lang.ArrayIndexOutOfBoundsException: 3
public class btyf { public static void main(String[] args){ int[] arr={1,2,3}; System.out.println(arr[0]); System.out.println(arr[3]); System.out.println(arr[1]); //1 异常 ArrayIndexOutOfBoundsException 异常名 // btyf.main(btyf.java:13) 异常位置第13行 // //Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 // at btyf.main(btyf.java:13) } }
结果:
java虚拟机:会把异常内容输出控制台
2.处理异常:
public class btyf { public static void main(String[] args){ int[] arr={1,2,3}; System.out.println(arr[0]); try{ System.out.println(arr[3]); }catch (ArrayIndexOutOfBoundsException e) { System.out.println("你访问的数组索引不存在"); e.printStackTrace(); //输出异常数据:控制台 } System.out.println(arr[1]); //1 异常 // ArrayIndexOutOfBoundsException 异常名 // btyf.main(btyf.java:13) 异常位置 //Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 // at btyf.main(btyf.java:13) } }
结果:
通过try抓异常,后面没有异常的代码就不会因为前面的代码一些异常而停止,
就可以执行
3.throwable:成员方法:
System.out.println(e.toString());//打印出异常内容:位置和名称
e.printStackTrace(); //输出异常数据:控制台
System.out.println(e.getMessage()); 一样
多用:System.out.println(e.toString());这个
try{ System.out.println(arr[3]); }catch (ArrayIndexOutOfBoundsException e) { //System.out.println("你访问的数组索引不存在"); // e.printStackTrace(); System.out.println(e.getMessage()); //public String getMessage() { // return detailMessage; // } System.out.println(e.toString()); }
结果:
4.throws:抛出异常:
但是在异常处:还是要添加try catch
添加位置:异常成员方法
public static void main(String[] args)throws ArrayIndexOutOfBoundsException{}
代码:
public class uytig { public static void main(String[] args)throws ArrayIndexOutOfBoundsException{ int[] arr={1,2,3}; System.out.println(arr[0]); try { System.out.println(arr[3]); } catch (Exception e) { e.printStackTrace(); } System.out.println("执行中"); } }
到此这篇关于Java开发过程中关于异常处理的详解的文章就介绍到这了,更多相关Java 异常内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_51813155/article/details/120895811