package 异常处理;
/*
* 注意:如果在catch 语句中声明的异常类是Exception,catch
* 语句也能正确地捕获,这是因为Exception 是ArithmeticExc
* -eption 的父类。如果不能确定会发生哪种情况的异常,那么
* 最好指定catch的参数为Exception,即说明异常的类型为Exception。
*
*/
public class exception_exam {
public static void main(String[] args) {
System.out.println("这是一个异常处理的例子");
try {
int i=10;
i /=0;
}catch (ArithmeticException e) {
System.out.println("异常是:"+e.getMessage());
}
finally {
System.out.println("finally 语句被执行");
}
}
}
/*****************************************************************
******************************************************************
这是一个异常处理的例子
异常是:/ by zero
finally 语句被执行
******************************************************************
*****************************************************************/
package 异常处理;
public class exception_exam1 {
public static void main(String[] args) {
System.out.println("这是一个异常处理的例子\n");
try {
int i=10;
i /=0;
}
catch (IndexOutOfBoundsException e) {
System.out.println("异常是:"+e.getMessage());
}
finally {
System.out.println("finally 语句被执行");
}
}
}
/***************************************************
********************程序运行:**********************
这是一个异常处理的例子
Exception in thread "main" java.lang.ArithmeticException: / by zero
finally 语句被执行
at 异常处理.exception_exam1.main(exception_exam1.java:9)
* *************************************************
*/
package 异常处理;
public class exceptionTest {
public static void main(String[] args) {
int a,b;
int c [] = {1,2,3};
try{
a = 10;
b = 100 / a;
System.out.println(" a 的当前值:" + a);
c [3] = 200;
System.out.println(" 当前数组的长度: " + c.length);
}
catch(ArithmeticException e){
System.out.println(" 除零错误:" + e);
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println(" 数组下标越界:" + e);
}
finally{
System.out.println("执行 finally 语句块");
}
System.out.println(" 程序顺利执行完毕!");
}
}
/****************************************************
*************正常情况下的执行效果********************
a 的当前值:10
当前数组的长度: 3
执行 finally 语句块
程序顺利执行,无异常!
****************************************************
***************当 a =(10)----> (0)*****************
除零错误:java.lang.ArithmeticException: / by zero
执行 finally 语句块
程序顺利执行完毕!
****************************************************
***************当c[2]-----> c[3]********************
a 的当前值:10
数组下标越界:java.lang.ArrayIndexOutOfBoundsException: 4
执行 finally 语句块
程序顺利执行完毕!
****************************************************
***************************************************/