Java开发过程中关于异常处理的详解
作者:yyy言者
异常是程序中的一些错误,但不是所有错误都是异常,且错误有时候是可以避免的。比如说,你的代码少一个分号,那运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常
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 异常内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!