国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

捕獲所有違例

2019-11-18 13:19:43
字體:
供稿:網(wǎng)友

  我們可創(chuàng)建一個控制器,令其捕捉所有類型的違例。具體的做法是捕捉基礎(chǔ)類違例類型Exception(也存在其他類型的基礎(chǔ)違例,但Exception是適用于幾乎所有編程活動的基礎(chǔ))。如下所示:
  catch(Exception e) {
  System.out.  }
  這段代碼能捕捉任何違例,所以在實際使用時最好將其置于控制器列表的末尾,防止跟隨在后面的任何非凡違例控制器失效。
  對于程序員常用的所有違例類來說,由于Exception類是它們的基礎(chǔ),所以我們不會獲得關(guān)于違例太多的信息,但可調(diào)用來自它的基礎(chǔ)類Throwable的方法:
  
  String getMessage()
  獲得具體的消息。
  
  String toString()
  返回對Throwable的一段簡要說明,其中包括具體的消息(假如有的話)。
  
  void printStackTrace()
  void printStackTrace(PrintStream)
  打印出Throwable和Throwable的調(diào)用堆棧路徑。調(diào)用堆棧顯示出將我們帶到違例發(fā)生地點的方法調(diào)用的順序。
  第一個版本會打印出標準錯誤,第二個則打印出我們的選擇流程。若在Windows下工作,就不能重定向標準錯誤。因此,我們一般愿意使用第二個版本,并將結(jié)果送給System.out;這樣一來,輸出就可重定向到我們希望的任何路徑。
  除此以外,我們還可從Throwable的基礎(chǔ)類Object(所有對象的基礎(chǔ)類型)獲得另外一些方法。對于違例控制來說,其中一個可能有用的是getClass(),它的作用是返回一個對象,用它代表這個對象的類。我們可依次用getName()或toString()查詢這個Class類的名字。亦可對Class對象進行一些復(fù)雜的操作,盡管那些操作在違例控制中是不必要的。本章稍后還會具體講述Class對象。
  下面是一個非凡的例子,它展示了Exception方法的使用(若執(zhí)行該程序碰到困難,請參考第3章3.1.2小節(jié)“賦值”):
  
  //: ExceptionMethods.
java
  // Demonstrating the Exception Methods
  package c09;
  
  public class ExceptionMethods {
   public static void main(String[] args) {
    try {
     throw new Exception("Here's my Exception");
    } catch(Exception e) {
     System.out.println("Caught Exception");
     System.out.println(
      "e.getMessage(): " + e.getMessage());
     System.out.println(
      "e.toString(): " + e.toString());
     System.out.println("e.printStackTrace():");
     e.printStackTrace();
    }
   }
  } ///:~
  
  該程序輸出如下:
  
  Caught Exception
  e.getMessage(): Here's my Exception
  e.toString(): java.lang.Exception: Here's my Exception
  e.printStackTrace():
  java.lang.Exception: Here's my Exception
      at ExceptionMethods.main
  
  可以看到,該方法連續(xù)提供了大量信息——每類信息都是前一類信息的一個子集。

上一篇:重新“擲”出違例

下一篇:違例的限制

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 建湖县| 安仁县| 济源市| 闽侯县| 内丘县| 缙云县| 新和县| 晋城| 南充市| 建始县| 通化市| 屏山县| 原阳县| 包头市| 玉田县| 安康市| 德庆县| 含山县| 迁西县| 祁阳县| 景洪市| 古田县| 西华县| 牟定县| 岗巴县| 潞城市| 青浦区| 泌阳县| 齐齐哈尔市| 日照市| 上思县| 韶山市| 卫辉市| 渭源县| 镇安县| 呼和浩特市| 边坝县| 襄垣县| 鄂托克前旗| 嘉鱼县| 嘉鱼县|