完成这个例子,说出java中针对异常的处理机制。

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

 

[java] view plaincopy
 
  1. package com.itheima;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. /** 
  6.  *第6题:有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b, 
  7.  *此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。 
  8.  *在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。 
  9.  *完成这个例子,请说出java中针对异常的处理机制。 
  10.  * 
  11.  *java中的异常分为“运行时异常”和“编译时异常” 
  12.  *运行时异常:是程序在运行的过程中所产生的异常,这个不是必须处理,是我们需要修正的 
  13.  *编译时异常:是程序在编译的过程中所产生的异常,这个我们必须处理 
  14.  *在java程序中,异常处理机制有两种,一种是“抛出异常”,一种是“捕获异常”,一种是“默认出来” 
  15.  *默认处理,他会把异常的名称,原因,位置等信息输出在控制台,但程序不会继续执行了 
  16.  *抛出异常:使用的关键字throws throw 
  17.  *  throws 用于在声明方法时抛出异常,只能是一个异常 
  18.  *  throw  用于抛出一个实际的异常,抛出一个具体异常对象,可以是多个异常。 
  19.  *捕获异常:try....catch...finally 
  20.  *  try{代码块} 
  21.  *      中间包含的代码块是可能出现异常的代码。 
  22.  *  catch{代码块} 
  23.  *      这个代码块是用来处理异常的代码 
  24.  *  finally{代码块} 
  25.  *      这个是异常处理后所需要执行的代码块。这个里面的代码块他总是会被执行,用于释放资源 
  26.  *注意:try不能单独使用,必须和catch或者finally两个中的一个一起使用 
  27.  */  
  28. public class Test6 {  
  29. public static void main(String[] args) throws Exception {  
  30. //  创建tc对象  
  31.     TestC tc = new TestC();  
  32. //  使用tc调用c方法,运行这个类  
  33.     tc.c();  
  34. //  A a = new A();  
  35. //  a.a();  
  36. }  
  37. }  
  38.   
  39. //A类  
  40. class A{  
  41. //  创建一个a方法,在a方法中创建b对象,通过b对象调用b方法,因为b对象抛出了异常,所以在a方法中也要抛出异常  
  42.     public void a() throws Exception{  
  43.     B b = new B();  
  44.     b.b();  
  45.     }  
  46. }  
  47.   
  48. //B类  
  49. class B  {  
  50. //  创建一个b方法,并抛出异常  
  51.     public void b() throws Exception{  
  52.         System.out.println("我是B类中的b方法,我抛出异常!");  
  53.     }  
  54. }  
  55. //客户端类  
  56. class TestC{  
  57.     public void c() {  
  58. //      创建一个A对象  
  59.         A a = new A();  
  60. //      调用A对象中的a方法,此时因为A方法中抛出了异常,所以这了必须处理,使用try...catch处理  
  61.         try {  
  62.             a.a();  
  63.         } catch (Exception e) {  
  64.             // TODO Auto-generated catch block  
  65.             System.out.println("我是捕获异常方法,"+e.toString());  
  66.         }  
  67.     }  
  68. }  
posted @ 2015-10-23 09:29  拾叁妖  阅读(186)  评论(0编辑  收藏  举报