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

首頁 > 學院 > 開發設計 > 正文

JAVA教程 第四講 Java的例外處理和I/O流

2019-11-18 11:16:52
字體:
來源:轉載
供稿:網友

4.1 什么是例外

  例外就是在程序的運行過程中所發生的異常事件,它中斷指令的正常執行。java中提供了一種獨特的處理例外的機制,通過例外來處理程序設計中出現的錯誤。

4.1.1 例外示例

【例4-1】

     import java.io.*;
     class ExceptionDemo1{
      public static void main( String args[ ] ){
       FileInputStream fis = new FileInputStream( "text" );
       int b;
       while( (b=fis.read())!=-1 ){
        System.out.PRint( b );
       }
       fis.close( );
      }
     }

    查看編譯結果

【例4-2】

     class ExceptionDemo2{
      public static void main( String args[ ] ){
       int a = 0;
       System.out.println( 5/a );
      }
     }

    運行結果

C:/>javac ExceptionDemo2.java
C:/>java ExceptionDemo2
  java.lang.ArithmeticException: / by zero at
  ExceptionDemo2.main(ExceptionDemo2.java:4)

  因為除數不能為0,所以在程序運行的時候出現了除0溢出的異常事件。為什么有的例外在編譯時出現,而有的例外是在運行時出現的?讓我們繼續學習java 的例外處理機制。

4.1.2 例外處理機制

  拋棄(throw)例外:
  在Java程序的執行過程中,假如出現了異常事件,就會生成一個例外對象。生成的例外對象將傳遞給Java運行時系統,這一例外的產生和提交過程稱為拋棄(throw)例外

 兩種處理例外的機制:

  ◇ 捕捉例外:
  當Java運行時系統得到一個例外對象時,它將會沿著方法的調用棧逐層回溯,尋找處理這一例外的代碼。找到能夠處理這種類型的例外的方法后,運行時系統把當前例外對象交給這個方法進行處理,這一過程稱為捕捉(catch)例外。這是積極的例外處理機制。假如Java運行時系統找不到可以捕捉例外的方法,則運行時系統將終止,相應的Java程序也將退出。

  ◇ 聲明拋棄例外:
  假如一個方法并不知道如何處理所出現的例外,則可在方法聲明時,聲明拋棄(throws)例外。這是一種消極的例外處理機制。

photoshop教程 數據結構 五筆輸入法專題 QQ病毒專題 共享上網專題 Google工具和服務專題

 

4.1.3 例外類的層次

  在jdk中,每個包中都定義了例外類,而所有的例外類都直接或間接地繼續于Throwable類。圖4-1為jdk中例外類的繼續關系。

  java中的例外類可分為兩大類:

  Error
 
  動態鏈接失敗,虛擬機錯誤等,通常Java程序不應該捕捉這類例外,也不會拋棄這種例外。

  Exception
  
  1)運行時例外:
  繼續于RuntimeException的類都屬于運行時例外,例如算術例外(除零錯)、數組下標越界例外等等。由于這些例外產生的位置是未知的,Java 編譯器答應程序員在程序中不對它們做出處理。

  2)非運行時例外:
  除了運行時例外之外的其他由Exception 繼續來的例外類都是非運行時的例外,例如FileNotFoundException(文件未找到例外)。Java編譯器要求在程序中必須處理這種例外,捕捉例外或者聲明拋棄例外。

4.2 例外的處理

  java語言中有兩種例外處理機制:捕捉例外和聲明拋棄例外。下面我們做具體介紹。

4.2.1 捕捉例外

  捕捉例外是通過try-catch-finally語句實現的。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江阴市| 卢氏县| 府谷县| 钦州市| 永寿县| 广饶县| 裕民县| 乌鲁木齐市| 绥江县| 龙里县| 彝良县| 新宁县| 曲阜市| 沂南县| 登封市| 古交市| 临西县| 合江县| 西林县| 和田县| 荣成市| 靖西县| 达州市| 沈阳市| 五原县| 昭苏县| 达尔| 镇坪县| 日土县| 恩平市| 都昌县| 邮箱| 临沧市| 龙海市| 当涂县| 西林县| 嘉禾县| 巫溪县| 青田县| 收藏| 宜春市|