java中的异常
TestExceptions.java
//异常 public class TestExceptions { public static void main(String[] args) { int[] arr = {1, 2, 3}; //编译通过,运行时出现异常 System.out.println(arr[4]); } }
F:\java>javac TestExceptions.java F:\java>java TestExceptions Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at TestExceptions.main(TestExceptions.java:6) F:\java>
出现了异常,异常为:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at TestExceptions.main(TestExceptions.java:6)
在main这个线程中的TestExceptions.java的第6行出现了异常,异常的原因为数字4。
ArrayIndexOutOfBoundsException
网络数组下标越界异常;数组索引越界异常;数组越界
//异常 public class TestExceptions { public static void main(String[] args) { System.out.println(2/0); } }
F:\java>javac TestExceptions.java F:\java>java TestExceptions Exception in thread "main" java.lang.ArithmeticException: / by zero at TestExceptions.main(TestExceptions.java:5) F:\java>
出现了异常:java.lang.ArithmeticException: / by zero ;除以0异常。
ArithmeticException
算术异常
使用try...catch捕获异常
//异常 public class TestExceptions { public static void main(String[] args) { try { System.out.println(2/0); } catch (ArithmeticException e) { System.out.println("系统正在维护,请与管理员联系"); e.printStackTrace();//打印堆栈信息 } } }
F:\java>java TestExceptions 系统正在维护,请与管理员联系 java.lang.ArithmeticException: / by zero at TestExceptions.main(TestExceptions.java:5) F:\java>