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