<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java語言的異常

            時間:2025-02-03 13:57:10 java語言 我要投稿

            關于Java語言的異常

              導語:Java語言程序運行過程中的不正常現象就叫異常,那么都有哪些情況呢?讓我們了解一下吧!

              (1)程序運行過程中的不正常現象就叫異常。

              (2)導致程序運行不正常的現象有很多,所以,就有很多的異常對象。

              而這些異常對象存在著共性的內容,所以,可以不斷的進行抽取。最終形成了異常的體系結構。

              異常體系的根類是:Throwable

              Throwable:

              |--Error:重大的問題,我們處理不了。也不需要編寫代碼處理。比如說內存溢出。

              |--Exception:一般性的錯誤,是需要我們編寫代碼進行處理的。

              |--RuntimeException:運行時異常,這個我們也不需要處理。

              其實就是為了讓他在運行時出問題,然后我們回來修改代碼。

              (3)異常的分類

              異常有兩種:

              編譯時被檢測異常:

              該異常在編譯時,如果沒有處理(沒有拋也沒有try),編譯失敗。

              該異常被標識,代表這可以被處理。

              運行時異常(編譯時不檢測)

              在編譯時,不需要處理,編譯器不檢查。

              該異常的發生,建議不處理,讓程序停止。需要對代碼進行修正。

              (4)異常體系的特點:

              異常體系中的所有類及其子類對象都具備可拋性。也就是說可以被throw和throws關鍵字所操作。

              (5)main方法是如何處理異常的。

              A:在main里面編寫代碼進行處理

              B:交給jvm自己進行處理。采用的是jvm的默認處理方式。

              其實就是相當于調用了異常對象的printStackTrace()方法。

              (6)Throwable類的學習

              getMessage():獲取異常信息,返回字符串。

              toString():獲取異常類名和異常信息,返回字符串。

              printStackTrace():獲取異常類名和異常信息,以及異常出現在程序中的位置。返回值void。

              (7)異常的處理·

              A:try...catch...finally

              基本格式:

              try

              {

              可能出現異常的代碼

              }

              catch(異常對象)

              {

              異常處理代碼

              }

              finally

              {

              釋放資源

              }

              變形格式:

              try...catch

              try...catch...catch...

              try...catch...catch...finally

              **多個異常同時被捕獲的時候,記住一個原則:

              先逮小的,再逮大的。

              **finally:永遠被執行,除非退出jvm。System.exit(0);

              面試題2個。

              ***:final,finally,finalize區別。

              final是最終的意思。它可以用于修飾類,成員變量,成員方法。

              它修飾的類不能被繼承,它修飾的變量時常量,它修飾的方法不能被重寫。

              finally:是異常處理里面的關鍵字。

              它其中的代碼永遠被執行。特殊情況:在執行它之前jvm退出。System.exit(0);

              finalize:是Object類中的一個方法。

              它是于垃圾回收器調用的方式。

              ***:假如catch中有return語句, finally里中的代碼會執行嗎?

              是在return前,還是在return后呢?

              會,在return前執行finally里面的代碼。

              (8)Exception和RuntimeException的區別

              A:Exception:一般性的錯誤,是需要我們編寫代碼進行處理的。

              B:RuntimeException:運行時異常,這個我們也不需要處理。

              其實就是為了讓他在運行時出問題,然后我們回來修改代碼。

              在用throws拋出一個的時候,如果這個異常是屬于RuntimeException的體系的時候,

              我們在調用的地方可以不用處理。(RuntimeException和RuntimeException的子類)

              在用throws拋出一個的時候,如果這個異常是屬于Exception的體系的時候,

              我們在調用的地方必須進行處理或者繼續拋出。

              (9)自定義異常

              定義類繼承Exception或者RuntimeException

              1,為了讓該自定義類具備可拋性。

              2,讓該類具備操作異常的共性方法。

              class MyExcepiton extends Exception

              {

              MyExcepiton(){}

              MyExcepiton(String message)

              {

              super(message);

              }

              }

              class MyException extends RuntimeException

              {

              MyExcepiton(){}

              MyExcepiton(String message)

              {

              super(message);

              }

              }

              (10)throws和throw的區別

              A:有throws的時候可以沒有throw。

              有throw的時候,如果throw拋的異常是Exception體系,那么必須有throws在方法上聲明。

              B:throws用于方法的聲明上,其后跟的是異常類名,后面可以跟多個異常類,之間用逗號隔開

              throw用于方法體中,其后跟的是一個異常對象名。


            【Java語言的異常】相關文章:

            Java語言中的異常處理機制08-02

            Java 異常處理12-22

            java運行異常的示例04-02

            java運行異常示例02-07

            java運行異常分析08-04

            Java開發的異常框架03-25

            Java的異常處理及應用03-12

            java封裝產品異常的代碼08-02

            Java異常處理語句及解析07-27

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看