<address id="xpjh9"><listing id="xpjh9"><meter id="xpjh9"></meter></listing></address>

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
<noframes id="xpjh9">
<noframes id="xpjh9">

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
    <form id="xpjh9"></form><address id="xpjh9"><listing id="xpjh9"><menuitem id="xpjh9"></menuitem></listing></address>

      <noframes id="xpjh9">
      VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
      SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
      當前位置:
      首頁 > 編程開發 > Java教程 >
      • java教程之Java 異常的處理

      • 2015-01-24 09:32 來源:未知

      1、  Java 異常的處理(相關java教程)
      在 Java 應用程序中,對異常的處理有兩種方式:處理異常和聲明異常。

      處理異常:try、catch 和 finally
      若要捕獲異常,則必須在代碼中添加異常處理器塊。這種 Java 結構可能包含 3 個部分,
      都有 Java 關鍵字。下面的例子中使用了 try-catch-finally 代碼結構。
      1 import java.io.*;
      2 public class EchoInputTryCatchFinally {
      3      public static void main(String args[]){
      4          System.out.println("Enter text to echo:");
      5          InputStreamReader isr = new InputStreamReader(System.in);
      6          BufferedReader inputReader = new BufferedReader(isr);
      7          try{
      8              String inputLine = inputReader.readLine();
      9              System.out.println("Read:" + inputLine);    
      10          }
      11          catch(IOException exc){
      12              System.out.println("Exception encountered: " + exc);
      13          }
      14          finally{
      15             System.out.println("End. ");
      16      }
      17 }
      18}
      其中:
      l  try 塊:將一個或者多個語句放入 try 時,則表示這些語句可能拋出異常。編譯器知道可能要發生異常,于是用一個特殊結構評估塊內所有語句。
      l  catch 塊:當問題出現時,一種選擇是定義代碼塊來處理問題,catch 塊的目的便在于此。catch 塊是 try 塊所產生異常的接收者。基本原理是:一旦生成異常,則 try 塊的執行中止,JVM 將查找相應的 JVM。
      l  finally 塊:還可以定義 finally 塊,無論運行 try 塊代碼的結果如何,該塊里面的代碼一定運行。在常見的所有環境中,finally 塊都將運行。無論 try 塊是否運行完,無論是否產生異常,也無論是否在 catch 塊中得到處理,finally 塊都將執行。
      try-catch-finally 規則:
      l  必須在 try 之后添加 catch 或 finally 塊。try 塊后可同時接 catch 和 finally 塊,但至少有一個塊。
      l  必須遵循塊順序:若代碼同時使用 catch 和 finally 塊,則必須將 catch 塊放在 try 塊之后。
      l  catch 塊與相應的異常類的類型相關。
      l  一個 try 塊可能有多個 catch 塊。若如此,則執行第一個匹配塊。
      l  可嵌套 try-catch-finally 結構。
      l  在 try-catch-finally 結構中,可重新拋出異常。
      l  除了下列情況,總將執行 finally 做為結束:JVM 過早終止(調用 System.exit(int));在 finally 塊中拋出一個未處理的異常;計算機斷電、失火、或遭遇病毒攻擊。
      聲明異常
      若要聲明異常,則必須將其添加到方法簽名塊的結束位置。下面是一個實例:
      public void errorProneMethod(int input) throws java.io.IOException {
          //Code for the method,including one or more method
          //calls that may produce an IOException
      }
                               
      這樣,聲明的異常將傳給方法調用者,而且也通知了編譯器:該方法的任何調用者必須遵守處理或聲明規則。聲明異常的規則如下:
      l  必須聲明方法可拋出的任何可檢測異常(checked exception)。
      l  非檢測性異常(unchecked exception)不是必須的,可聲明,也可不聲明。
      l  調用方法必須遵循任何可檢測異常的處理和聲明規則。若覆蓋一個方法,則不能聲明與覆蓋方法不同的異常。聲明的任何異常必須是被覆蓋方法所聲明異常的同類或子類。
      相關教程
      江苏快3 株洲 | 巴中 | 广安 | 临夏 | 廊坊 | 通辽 | 揭阳 | 咸宁 | 广汉 | 淮南 | 湛江 | 临猗 | 宁德 | 绵阳 | 泰安 | 灌南 | 海门 | 五指山 | 黄山 | 云浮 | 泸州 | 金华 | 桐城 | 阜阳 | 济源 | 阿勒泰 | 伊犁 | 义乌 | 西藏拉萨 | 武威 | 乌兰察布 | 安吉 | 甘孜 | 白山 | 鄂尔多斯 | 东海 | 枣庄 | 迁安市 | 阿拉善盟 | 通化 | 伊犁 | 安徽合肥 | 宁夏银川 | 周口 | 南京 | 铁岭 | 泸州 | 温岭 | 聊城 | 潮州 | 湘西 | 宜昌 | 大庆 | 德阳 | 南平 | 安岳 | 靖江 | 黄山 | 昭通 | 本溪 | 喀什 | 长垣 | 库尔勒 | 铜陵 | 朔州 | 益阳 | 白银 | 西藏拉萨 | 海丰 | 安阳 | 珠海 | 遂宁 | 余姚 | 神农架 | 黑河 | 赤峰 | 河北石家庄 | 黄南 | 平潭 | 明港 | 临夏 | 新疆乌鲁木齐 | 温岭 | 阳泉 | 南京 | 如皋 | 海西 | 项城 | 福建福州 | 吕梁 | 福建福州 | 阳泉 | 鹰潭 | 运城 | 吕梁 | 巴中 | 平顶山 | 永新 | 长葛 | 沭阳 | 和田 | 杞县 | 喀什 | 阿拉尔 | 七台河 | 阿克苏 | 泸州 | 阿拉尔 | 铜仁 | 湖北武汉 | 潍坊 | 牡丹江 | 靖江 |