淺談異常構造圖、編譯期異常和運轉期異常的差別。本站提示廣大學習愛好者:(淺談異常構造圖、編譯期異常和運轉期異常的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談異常構造圖、編譯期異常和運轉期異常的差別正文
異常處置普通有2種方法,要末捕捉異常try-catch,要末拋出異常throws
假如一個辦法前面拋出一個運轉時代異常(throws RuntimeException),挪用者不必處置
假如一個辦法前面拋出一個編譯時代異常,挪用者必需處置,或許拋出或許try-catch;
運轉時代的異常普通都不處置,普通是法式邏輯上的毛病,好比分母為0作為除數了。。。
留意假如在try外面湧現了異常後,try上面的語句就不會履行,歸去尋覓catch婚配異常處置會,接上去的語句會處置的(也就是在try-catch-finally以後的語句會持續履行)
/*
* 有些時刻,我們是可以對異常停止處置的,然則又有些時刻,我們基本就沒有權限行止理某個異常。
* 或許說,我處置不了,我就不處置了。
* 為懂得決失足成績,Java針對這類情形,就供給了另外一種處置計劃:拋出。
*
* 格局:
* throws 異常類名
* 留意:這個格局必需跟在辦法的括號前面。
*
* 留意:
* 盡可能不要在main辦法上拋出異常。
* 然則我授課為了便利我就如許做了。
*
* 小結:
* 編譯期異常拋出,未來挪用者必需處置。
* 運轉期異常拋出,未來挪用可以不消處置。
*/
但凡RuntimeException及其子類的異常都不處置(不拋出也不捕捉),假如真的曉得運轉時會有異常拋出的話,,那末直接檢討修正法式的邏輯就OK!!!
package 異常; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class ExceptionDemo { public static void main(String[] args) { System.out.println("挪用辦法之前"); try { method();// 編譯時代異常拋出必需處置 } catch (ParseException e) { e.printStackTrace(); } System.out.println("挪用辦法1後在挪用辦法二"); method2(); } public static void method2() throws RuntimeException{ int a = 10; int b = 0; System.out.println("a/b="+a/b);//運轉時代異常可以不消處置,假如處置為拋出異常throws,那末挪用者也無需必需處置異常 } public static void method() throws ParseException { String string = "2015-05-30"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//會慢慢婚配string格局,纰謬就拋異常 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//假如string只要2015-05-30,沒有前面的,那末會跑異常,由於這個sdf2沒法婚配HH:mm:ss Date date = sdf.parse(string); System.out.println("日期格局化:" + date); } }
異常構造圖:
error的異常我們法式員不消處置也處置不了,
runtimeexception的運轉時代異常我們也無需處置,
其他的就是編譯時代的異常我們就要處置了。
以上就是小編為年夜家帶來的淺談異常構造圖、編譯期異常和運轉期異常的差別的全體內容了,願望對年夜家有所贊助,多多支撐~