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

有一个类为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());
		}
	}
}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值