您的位置:首页 > 其它

有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方

2015-08-21 17:07 309 查看
有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。完成这个例子,请说出java中针对异常的处理机制。

package com.itheima;

import java.io.IOException;

/**
*第6题:有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,
*此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。
*在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。
*完成这个例子,请说出java中针对异常的处理机制。
*
*java中的异常分为“运行时异常”和“编译时异常”
*运行时异常:是程序在运行的过程中所产生的异常,这个不是必须处理,是我们需要修正的
*编译时异常:是程序在编译的过程中所产生的异常,这个我们必须处理
*在java程序中,异常处理机制有两种,一种是“抛出异常”,一种是“捕获异常”,一种是“默认出来”
*默认处理,他会把异常的名称,原因,位置等信息输出在控制台,但程序不会继续执行了
*抛出异常:使用的关键字throws throw
*	throws 用于在声明方法时抛出异常,只能是一个异常
*	throw  用于抛出一个实际的异常,抛出一个具体异常对象,可以是多个异常。
*捕获异常:try....catch...finally
*	try{代码块}
*		中间包含的代码块是可能出现异常的代码。
*	catch{代码块}
*		这个代码块是用来处理异常的代码
*	finally{代码块}
*		这个是异常处理后所需要执行的代码块。这个里面的代码块他总是会被执行,用于释放资源
*注意:try不能单独使用,必须和catch或者finally两个中的一个一起使用
*/
public class Test6 {
public static void main(String[] args) throws Exception {
//	创建tc对象
TestC tc = new TestC();
//	使用tc调用c方法,运行这个类
tc.c();
//	A a = new A();
//	a.a();
}
}

//A类
class A{
//	创建一个a方法,在a方法中创建b对象,通过b对象调用b方法,因为b对象抛出了异常,所以在a方法中也要抛出异常
public void a() throws Exception{
B b = new B();
b.b();
}
}

//B类
class B  {
//	创建一个b方法,并抛出异常
public void b() throws Exception{
System.out.println("我是B类中的b方法,我抛出异常!");
}
}
//客户端类
class TestC{
public void c() {
//		创建一个A对象
A a = new A();
//		调用A对象中的a方法,此时因为A方法中抛出了异常,所以这了必须处理,使用try...catch处理
try {
a.a();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("我是捕获异常方法,"+e.toString());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: