python如何捕獲異常 如何捕獲異常?
如何捕獲異常?將可能引發(fā)異常的代碼段放在try塊中,將處理異常的代碼放在catch塊中。catch語(yǔ)句的順序很重要。當(dāng)異常發(fā)生時(shí),它向上傳遞堆棧,每個(gè)catch塊都有機(jī)會(huì)處理它。通過(guò)將異常類型與cat
如何捕獲異常?
將可能引發(fā)異常的代碼段放在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)寫入線(“SOAP異常錯(cuò)誤代碼:{0}”,例如。子代碼.代碼.名稱) 控制臺(tái)寫入線(“SOAP異常消息為:{0}”,e.Message)}捕獲e為SoapExceptionConsole.WriteLine(“SOAP異常錯(cuò)誤代碼:{0}”,例如。子代碼.代碼.名稱) 控制臺(tái)寫入線(“soap exception message is:{0}”,e.message)end try如果沒(méi)有特定類型的catch塊,則可能的常規(guī)catch塊將捕獲異常。例如,可以通過(guò)添加以下代碼來(lái)捕獲常規(guī)異常:catch(exception E){控制臺(tái)寫入線(“異常消息:{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ì)話框。
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
事實(shí)上,這種方法在很多框架中都有使用
1。Rethrow
自定義異常,用于更好地隔離異常,識(shí)別異常類型、ID、自定義消息和日志
2。對(duì)第三方庫(kù)的異常進(jìn)行打包和抽象,以保持與框架異常定義的一致性,方便框架處理不同的異常
3。Restful API,統(tǒng)一異常管理