av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

Java語(yǔ)言的異常

時(shí)間:2025-02-03 13:57:10 java語(yǔ)言 我要投稿

關(guān)于Java語(yǔ)言的異常

  導(dǎo)語(yǔ):Java語(yǔ)言程序運(yùn)行過(guò)程中的不正,F(xiàn)象就叫異常,那么都有哪些情況呢?讓我們了解一下吧!

  (1)程序運(yùn)行過(guò)程中的不正常現(xiàn)象就叫異常。

  (2)導(dǎo)致程序運(yùn)行不正常的現(xiàn)象有很多,所以,就有很多的異常對(duì)象。

  而這些異常對(duì)象存在著共性的內(nèi)容,所以,可以不斷的進(jìn)行抽取。最終形成了異常的體系結(jié)構(gòu)。

  異常體系的根類是:Throwable

  Throwable:

  |--Error:重大的問(wèn)題,我們處理不了。也不需要編寫(xiě)代碼處理。比如說(shuō)內(nèi)存溢出。

  |--Exception:一般性的錯(cuò)誤,是需要我們編寫(xiě)代碼進(jìn)行處理的。

  |--RuntimeException:運(yùn)行時(shí)異常,這個(gè)我們也不需要處理。

  其實(shí)就是為了讓他在運(yùn)行時(shí)出問(wèn)題,然后我們回來(lái)修改代碼。

  (3)異常的分類

  異常有兩種:

  編譯時(shí)被檢測(cè)異常:

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

  該異常被標(biāo)識(shí),代表這可以被處理。

  運(yùn)行時(shí)異常(編譯時(shí)不檢測(cè))

  在編譯時(shí),不需要處理,編譯器不檢查。

  該異常的發(fā)生,建議不處理,讓程序停止。需要對(duì)代碼進(jìn)行修正。

  (4)異常體系的特點(diǎn):

  異常體系中的所有類及其子類對(duì)象都具備可拋性。也就是說(shuō)可以被throw和throws關(guān)鍵字所操作。

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

  A:在main里面編寫(xiě)代碼進(jìn)行處理

  B:交給jvm自己進(jìn)行處理。采用的是jvm的默認(rèn)處理方式。

  其實(shí)就是相當(dāng)于調(diào)用了異常對(duì)象的printStackTrace()方法。

  (6)Throwable類的學(xué)習(xí)

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

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

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

  (7)異常的處理·

  A:try...catch...finally

  基本格式:

  try

  {

  可能出現(xiàn)異常的代碼

  }

  catch(異常對(duì)象)

  {

  異常處理代碼

  }

  finally

  {

  釋放資源

  }

  變形格式:

  try...catch

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

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

  **多個(gè)異常同時(shí)被捕獲的時(shí)候,記住一個(gè)原則:

  先逮小的,再逮大的。

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

  面試題2個(gè)。

  ***:final,finally,finalize區(qū)別。

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

  它修飾的類不能被繼承,它修飾的變量時(shí)常量,它修飾的方法不能被重寫(xiě)。

  finally:是異常處理里面的關(guān)鍵字。

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

  finalize:是Object類中的一個(gè)方法。

  它是于垃圾回收器調(diào)用的方式。

  ***:假如catch中有return語(yǔ)句, finally里中的代碼會(huì)執(zhí)行嗎?

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

  會(huì),在return前執(zhí)行finally里面的代碼。

  (8)Exception和RuntimeException的區(qū)別

  A:Exception:一般性的錯(cuò)誤,是需要我們編寫(xiě)代碼進(jìn)行處理的。

  B:RuntimeException:運(yùn)行時(shí)異常,這個(gè)我們也不需要處理。

  其實(shí)就是為了讓他在運(yùn)行時(shí)出問(wèn)題,然后我們回來(lái)修改代碼。

  在用throws拋出一個(gè)的時(shí)候,如果這個(gè)異常是屬于RuntimeException的體系的時(shí)候,

  我們?cè)谡{(diào)用的地方可以不用處理。(RuntimeException和RuntimeException的子類)

  在用throws拋出一個(gè)的時(shí)候,如果這個(gè)異常是屬于Exception的體系的時(shí)候,

  我們?cè)谡{(diào)用的地方必須進(jìn)行處理或者繼續(xù)拋出。

  (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的區(qū)別

  A:有throws的時(shí)候可以沒(méi)有throw。

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

  B:throws用于方法的聲明上,其后跟的是異常類名,后面可以跟多個(gè)異常類,之間用逗號(hào)隔開(kāi)

  throw用于方法體中,其后跟的是一個(gè)異常對(duì)象名。


【Java語(yǔ)言的異!肯嚓P(guān)文章:

Java語(yǔ)言中的異常處理機(jī)制08-02

Java 異常處理12-22

java運(yùn)行異常的示例04-02

java運(yùn)行異常示例02-07

java運(yùn)行異常分析08-04

Java開(kāi)發(fā)的異?蚣03-25

Java的異常處理及應(yīng)用03-12

java封裝產(chǎn)品異常的代碼08-02

Java異常處理語(yǔ)句及解析07-27