在一般的情况下,try...catch....finally ....throw....throws 联合使用的情况很普遍。
例如:要设计一个相除的方法,在计算之前打印“开始计算”的信息,结束之后打印“计算结束”的信息,如果有异常则交给被调用处处理。面对这样的情况必须使用以上的全部操作。看代码:
class Math {
public int div( int i, int j) throws Exception {
// 在定义一个方法的时候可以使用throws关键字声明,表示此方法不处理异常而是交给方法的调用处进行处理
// 格式:public 返回值类型 方法名称(参数列表)throws 异常类{}
System.out.println( "计算开始");
int temp = 0;
try {
temp = i / j;
} catch (Exception e) {
// TODO Auto-generated catch block
throw e;
} finally {
System.out.println( "计算结束");
}
return temp;
}
}
public int div( int i, int j) throws Exception {
// 在定义一个方法的时候可以使用throws关键字声明,表示此方法不处理异常而是交给方法的调用处进行处理
// 格式:public 返回值类型 方法名称(参数列表)throws 异常类{}
System.out.println( "计算开始");
int temp = 0;
try {
temp = i / j;
} catch (Exception e) {
// TODO Auto-generated catch block
throw e;
} finally {
System.out.println( "计算结束");
}
return temp;
}
}
public
class FloatDemo {
public static void main(String[] args) {
Math math = new Math();
try {
System.out.println(math.div(20, 0));
} catch (Exception e) {
// 交给方法的调用处进行处理
System.out.println( "异常产生" + e);
}
}
}
public static void main(String[] args) {
Math math = new Math();
try {
System.out.println(math.div(20, 0));
} catch (Exception e) {
// 交给方法的调用处进行处理
System.out.println( "异常产生" + e);
}
}
}
转载于:https://blog.51cto.com/haiyuanxi/925559