ioexception異常怎么處理 Error與Exception有什么區(qū)別?
Error與Exception有什么區(qū)別?1)錯誤都繼承自父類,而異常都繼承自。2)看JDK對和的解釋。也就是Error是Throwable的一個子類,用來標記嚴重錯誤。一個合理的應用程序不應該犯tr
Error與Exception有什么區(qū)別?
1)錯誤都繼承自父類,而異常都繼承自。
2)看JDK對和的解釋。也就是Error是Throwable的一個子類,用來標記嚴重錯誤。一個合理的應用程序不應該犯try/catch這樣的錯誤。大多數(shù)錯誤都是不正常的,不應該發(fā)生。也就是Exception是Throwable的一個子類,用來表示一個合理的程序想要捕捉的條件。即只是程序運行狀況,不是嚴重錯誤,鼓勵用戶程序去抓。
3)Error,RuntimeException及其子類為uncheckedexceptions,其他所有異常類為checkedexceptions。.checkedexc:通常被拋出一個可恢復的程序,最好使用一個程序來恢復這種異常。例如,文件未找到異常、解析異常等。Uncheckedexc:通常是一個不正常的現(xiàn)象。;如果一切正常就不會發(fā)生,但它確實發(fā)生了。如arrayindexoutofboundexception、classcastexception等。從語言本身的角度來看,程序不應該捕捉這樣的異常。盡管終端程序員可以捕捉諸如RuntimeException之類的異常并從中恢復,但不鼓勵他們這樣做,因為這完全沒有必要。因為這種錯誤本身就是bug,應該修復。當出現(xiàn)這種錯誤時,程序應該立即停止執(zhí)行。因此,面對錯誤和未檢查的異常,程序應該自動終止。程序員不應該做try/catch這樣的事情,而應該找出原因,修改代碼邏輯。
sockettimeoutexception如何解決?
在這種情況下,一般有以下幾種情況:
案例一:第三方服務的業(yè)務處理異常,可以自定義異常。
案例二:第三方服務處理業(yè)務超時,即SocketTimeoutException異常。
案例三:連接第三方服務超時,即ConnectionPoolTimeoutException異常。
案例4:連接第三方服務的連接池異常,即ConnectionPoolTimeout。
治療計劃:
情況一:根據(jù)第三方定義的信息,比如錯誤碼,本地程序回滾相應的事務。
其他條件:當?shù)胤辗詹东@相應的異常,并做相應的事務處理。