java, java中的throw是什么,怎么用?不知道小伙伴們今天來(lái)看看邊肖的分享吧!
1.投擲簡(jiǎn)介:
程序出現(xiàn)錯(cuò)誤后,系統(tǒng)會(huì)自動(dòng)拋出異常;另外,Java還允許程序自己拋出異常,使用throw語(yǔ)句自己拋出異常。
2.異常處理:
程序運(yùn)行過(guò)程中可能會(huì)出現(xiàn)異常情況,比如除以0,計(jì)算負(fù)數(shù)的平方根等。并可能出現(xiàn)致命錯(cuò)誤,如內(nèi)存不足、磁盤損壞和無(wú)法讀取文件等。異常和錯(cuò)誤情況的處理統(tǒng)稱為異常處理。3.Java異常處理:
艾娃異常處理主要由五個(gè)關(guān)鍵字控制,即try、catch、throw、throws和finally。Try是指嘗試它所包含的代碼段是否會(huì)發(fā)生異常;并在出現(xiàn)異常時(shí)捕獲它,
以及相應(yīng)的處理,使程序不受異常影響而繼續(xù)執(zhí)行;Throw就是在程序中顯式拋出異常;throws的功能是,如果一個(gè)方法可以拋出一個(gè)異常,而它自己不處理它,
那么它必須將這個(gè)異常拋出給調(diào)用它的方法;最后是不管異常是否發(fā)生都要執(zhí)行的代碼。4.關(guān)鍵字的用法:throw、throws、try和catch如下:throws出現(xiàn)在方法的聲明中。
表示方法可能引發(fā)的異常,并允許在引發(fā)異常的方法體中出現(xiàn)后跟多個(gè)異常類型的引發(fā)。當(dāng)方法在執(zhí)行過(guò)程中遇到異常時(shí),它會(huì)將異常信息封裝為異常對(duì)象,然后拋出。
Try出現(xiàn)在方法體中,方法體本身是一個(gè)代碼塊,指示試圖執(zhí)行代碼塊的語(yǔ)句。如果語(yǔ)句在執(zhí)行過(guò)程中引發(fā)異常,代碼塊之后的語(yǔ)句將不會(huì)被執(zhí)行。Catch出現(xiàn)在try代碼塊之后,它本身就是一個(gè)代碼塊。
用于捕獲可能在try代碼塊中引發(fā)的異常。catch關(guān)鍵字后面是它可以捕獲的異常類型,異常類型的所有子類也可以被捕獲。
例如:
package book.exception/* */* *拋出異常并聲明異常010-350003 * @ author Joe010-350003 * *。10-350002公共類throwandrows.{010-3500010/* */*010-350003 *算一個(gè)。@paramnStr以字符串的形式提供數(shù)字010-350003*@return返回平方根010-350003*@throwsException當(dāng)用戶輸入的字符串為空時(shí),
程序輸出結(jié)果:
gota異常:輸入的字符串轉(zhuǎn)化成的數(shù)字必須大于0!java.lang。異常:輸入的字符串轉(zhuǎn)化成的數(shù)字必須大于0!在書上。例外。throwandrows。sqrt(throwandrows。Java:30)at book。例外。throwandrows。main(throwandrows。Java:37)線程main Java中的異常。郎。例外情況:輸入的字符串轉(zhuǎn)化成的數(shù)字必須大于0!在書上。例外。throwandrows。sqrt(throwandrows。Java:30)at book。例外。throwandrows。main(throwandrows。Java:37)
源代碼分析:在main方法中,由于sqrt方法的語(yǔ)句中包含throws關(guān)鍵字,所以在調(diào)用該方法時(shí),必須處理throws之后聲明的異常。有兩種處理方法:(main方法處理這個(gè)異常。
使用try.catch語(yǔ)句,將可能異常的代碼放在try塊中,將處理異常的代碼放在catch塊中,并指明catch可以捕獲的異常類型。當(dāng)捕獲到異常時(shí),執(zhí)行catch塊中的語(yǔ)句。
(2)main方法不處理異常,而是將異常拋出給外部程序。使用throws關(guān)鍵字在方法聲明中拋出異常,不需要使用try.方法體中的catch語(yǔ)句。
異常類的getMessage方法用于獲取某個(gè)字段的描述信息,printStackTrace方法用于打印異常的堆棧信息,通過(guò)該方法可以找出異常的原因和位置,這是調(diào)試中常用的方法。
java,以上就是本文為您收集整理的java最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。