日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python类型转换异常捕捉_Java中的异常

發(fā)布時間:2024/9/3 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python类型转换异常捕捉_Java中的异常 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

異常的概念:

異常(exception也稱例外)就是在程序運行過程中所發(fā)生的不正常的事情,

他會終止程序的運行。

1.所需的文件找不著

2.網(wǎng)絡(luò)連接不通或者中斷

3.算數(shù)運算符的錯誤參數(shù)

4.數(shù)組下標越界

5.裝載一個不存在的類或者null對象操作

6.類型轉(zhuǎn)換異常...

當java程序出現(xiàn)以上異常的時候就會在所處方法中產(chǎn)生一個異常的對象

這個異常的對象包括異常的類型,異常出現(xiàn)時程序的運行狀態(tài)以及該異常的詳細我描述

在java程序中所有異常和error的父類是Throwable直接繼承Object

error是程序本身無法恢復(fù)的嚴重錯誤

exception是程序中可以處理的異常

1.運行時異常(有可能產(chǎn)生也有可能不產(chǎn)生)

2.Check的異常(不處理編譯無法通過,也叫編譯時異常)

異常的處理方式之捕捉異常:

1.try -catch- finally的使用

1-try-catch組合

1--正常情況:try 及以后的代碼,不執(zhí)行catch

2--異常情況:出現(xiàn)類型和捕獲類型相匹配

catch(exception e){//

e.printstackTrance();

}

再捕捉到異常的時候由java虛擬機創(chuàng)建對象,體現(xiàn)了多態(tài),父類引用指向子類對象

Exception e = new ArithmeticException();然后繼續(xù)執(zhí)行以后程序,程序不會中斷

3--異常不匹配情況:異常exception e不匹配,程序中斷,后面程序就不在運行。

2-try-finally組合;

1--正常情況:程序正常運行,執(zhí)行finally代碼

2--異常情況:在執(zhí)行完畢f(xié)inally代碼之后程序報錯,程序中斷

3--特殊情況不執(zhí)行finally:system.exit(0);

3-try-catch-finally

1--正常情況:執(zhí)行try-finally

2--異常情況:類型相匹配執(zhí)行try-catch-finally 按順序執(zhí)行

3--異常情況:類型不相匹配,執(zhí)行try-finally

如果catch中存在return語句則先執(zhí)行完finally語句后再執(zhí)行return語句(結(jié)束方法)

異常的處理方式之聲明異常:(throws)

方法名的后面,用于聲明該方法可能會產(chǎn)生一個異常,如果方法聲明的

是一個Exception異常或者是checkedException異常,要求方法的調(diào)用出必須做處理

1.繼續(xù)使用throws向上聲明(方法的調(diào)用處)

2.使用try-catch-finally進行處理

如果方法聲明但是runtimeException的異常,那么方法的調(diào)用可不處理

繼承關(guān)系中的聲明異常:

1.父類的方法聲明了Exception類型的異常,子類再重寫方法的時候,可以聲明

也可以不聲明,但是如果子類重寫之后的方法使用super關(guān)鍵字調(diào)用父類的方法,

那么必須要求對異常進行處理。

2.如果父類方法沒有異常,那么子類的方法如果一定要有Exception異常或者是checkedException異常

那么子類必須自己進行try-catch-finally解決或者給父類聲明異常。

3.如果子類在重寫父類方法是產(chǎn)生的是runtimeException那么也可以不用處理

throw拋出異常對象寫在方法里

在捕獲一個異常之前必須有一段代碼先生成異常對象并把它拋出,這個過程我們

可以手工做也可以由JRE來實現(xiàn),他們調(diào)用的都是Throw子句

throws與throw的區(qū)別

1.throws用于聲明方法可能會產(chǎn)生的類型異常,throw手動拋出一個異常對象!!

2.位置不相同,throws寫在方法名后面,throw用于寫在方法里。

常見的異常和解決方法(加入判斷)

1.運行時異常runtimeException

1-算術(shù)異常:ArithmeticException(除數(shù)不為0)

2-空指針異常:NullPointerException(沒有創(chuàng)建對象就調(diào)用了對象的屬性或方法String str=nul;)

3-類型轉(zhuǎn)換異常;ClassCastException(向下類型轉(zhuǎn)換Animal dog = new Dog Cat cat = (cat)dog

用instanceof判斷是否屬于一個類型返回boolean)

4-數(shù)組下標越界異常:ArraysIndexOutOfBoundsException(判斷是否<arr.length

否則輸出數(shù)組下標超出邊界)

5-期望的數(shù)據(jù)類型和實際輸入的類型不匹配:InputMismatchException!!!(判斷輸入的是否是整數(shù)

的時候用input.hasNextInt(),判斷你輸入的時候是否是整數(shù))

2.檢查時異常CheckedException(必須做處理n多異常的總稱)

1-SQLException(throws向上聲明或者使用try-catch-finally)

2-IOException(throws向上聲明或者使用try-catch-finally)

3-ParseException(throws向上聲明或者使用try-catch-finally)

自定義異常:

為什么要定義自定義異常?

在程序中,可能會遇到任何標準異常類都無法描述清楚的問題,這種情況下創(chuàng)建自己的

異常類

自定義異常的步驟:!!!

1.繼承Exception或者RuntimeException

2.定義構(gòu)造方法

3.使用異常

總結(jié)

以上是生活随笔為你收集整理的python类型转换异常捕捉_Java中的异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。