部分網(wǎng)頁(yè)提示網(wǎng)絡(luò)異常 弱弱的問(wèn)下,拋出異常和捕獲處理什么意思呀?
弱弱的問(wèn)下,拋出異常和捕獲處理什么意思呀?在程序開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到“錯(cuò)誤”的情況。如網(wǎng)絡(luò)連接不穩(wěn)定,設(shè)備接觸不良等。很多功能都需要錯(cuò)誤檢測(cè)過(guò)程。一旦函數(shù)中發(fā)生錯(cuò)誤,就需要通知其他程序。有兩種常
弱弱的問(wèn)下,拋出異常和捕獲處理什么意思呀?
在程序開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到“錯(cuò)誤”的情況。如網(wǎng)絡(luò)連接不穩(wěn)定,設(shè)備接觸不良等。
很多功能都需要錯(cuò)誤檢測(cè)過(guò)程。一旦函數(shù)中發(fā)生錯(cuò)誤,就需要通知其他程序。有兩種常見(jiàn)的錯(cuò)誤通知方法。
1、通過(guò)函數(shù)的返回值進(jìn)行反饋。
Errorcode func()
其中Errorcode是錯(cuò)誤消息。調(diào)用函數(shù)的程序可以通過(guò)返回值知道函數(shù)是否正常執(zhí)行。
2、通過(guò)異常捕獲機(jī)制。
Try
{
func()//如果在func中檢測(cè)到錯(cuò)誤,可以調(diào)用throw exception來(lái)拋出異常
}
catch//Try塊中拋出的異常將被catch捕獲。那就是抓住例外。
此方法可以更靈活地處理程序錯(cuò)誤,建議使用。
以下是例外博客的描述,請(qǐng)參考。
http://www.cnblogs.com/ggjucheng/archive/2011/12/18/2292089.html
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
事實(shí)上,這種方法在很多框架中都有使用
1。Rethrow
自定義異常用于更好地隔離異常,識(shí)別異常類型、ID、自定義消息等,用于日志等。對(duì)第三方庫(kù)的異常進(jìn)行打包和抽象,并與您的框架異常定義保持一致,以便于您的框架處理不同的異常
3。Restful API,統(tǒng)一異常管理
將可能導(dǎo)致異常的代碼段放入try中,將處理異常的代碼放入catch塊中。catch語(yǔ)句的順序很重要。當(dāng)異常發(fā)生時(shí),它向上傳遞堆棧,每個(gè)catch塊都有機(jī)會(huì)處理它。通過(guò)將異常類型與catch塊中指定的異常名稱相匹配,可以確定處理異常的catch塊。例如,下面的catch塊將捕獲簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(soap)異常:catch(soapexception E){控制臺(tái)寫(xiě)入線(“SOAP異常錯(cuò)誤代碼:{0}”,例如。子代碼.代碼.名稱) 控制臺(tái)寫(xiě)入線(“SOAP異常消息為:{0}”,e.Message)}捕獲e為SoapExceptionConsole.WriteLine(“SOAP異常錯(cuò)誤代碼:{0}”,例如。子代碼.代碼.名稱) 控制臺(tái)寫(xiě)入線(“soap exception message is:{0}”,e.message)end try如果沒(méi)有特定類型的catch塊,則可能的常規(guī)catch塊將捕獲異常。例如,可以通過(guò)添加以下代碼來(lái)捕獲常規(guī)異常:catch(exception E){控制臺(tái)寫(xiě)入線(“異常消息:{0}”,e.Message)}捕獲e為例外Solle.WriteLine(“exception message:{0},e.message)end try將特定類型異常的catch塊放在常規(guī)異常之前。公共語(yǔ)言運(yùn)行庫(kù)將捕獲catch塊未捕獲的異常。根據(jù)運(yùn)行時(shí)的配置,可以顯示調(diào)試對(duì)話框,或者可以停止程序的執(zhí)行,并且可以顯示包含異常信息的對(duì)話框。