关于异常Exception
1、定義
異常定義了程序中遇到的非致命的錯(cuò)誤,而不是編譯時(shí)的語(yǔ)法錯(cuò)誤,如程序要打開一個(gè)不存在的文件、網(wǎng)絡(luò)連接中斷、操作數(shù)越界、裝在一個(gè)不存在的類等等。
2、知識(shí)總結(jié)
①遇到異常時(shí),進(jìn)入了其中一個(gè)catch語(yǔ)句,那么就不會(huì)進(jìn)入它之后的其他catch語(yǔ)句
②無(wú)論程序是否發(fā)生異常,都會(huì)執(zhí)行finally里的語(yǔ)句,除非出現(xiàn)退出程序(System.exit(0))的語(yǔ)句,finally才不會(huì)被執(zhí)行
③catch(Exception e)異常不能放置于第一個(gè)異常,只能把它放在最后,這樣才能來捕獲它之前的catch語(yǔ)句都不能捕獲的異常如果和上面的異常都不匹配,就進(jìn)入catch(Exception e)異常
④如果父類扔出多個(gè)異常,那么重寫(覆蓋)方法必須扔出那些異常的一個(gè)子集,也就是說不能扔出新的異常
3、實(shí)例
class Test
{
?public int devide(int x,int y) throws Exception
?{
??if(y<0)
??? throw new DevideByMinusException("deviser is"+ y);
??? int result = x/y;
??? return result;
?}
}
class DevideByMinusException extends Exception
{
?public DevideByMinusException(String msg)
?{
??super(msg);
?}
}
class TestException
{
?public static void main(String args[])
?{
??try
??{
???System.out.println(new Test().devide(3,0));
??}
??catch(Exception e)
??{
???System.out.println(e.getMessage());
??}
??finally
??{
???System.out.println("finally");
??}
??System.out.println("program is running here");
?}
}
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/rpp506815950/archive/2012/10/31/2748398.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的关于异常Exception的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云开发者大会:资源加应用酝酿云存储变
- 下一篇: PDM 导出Excel