基础向:关于异常(Exception)面试常会问到的问题
不管在生活中還是寫代碼,都會遇到各種突發情況和程序時的bug,這在項目上更是常常發生。而程序猿經常都是在寫bug和改bug的路上,這里的bug雖和異常不同,但也有著異曲同工之處。
什么是異常?為什么會產生異常?這不僅是程序猿需要去處理的更是面試官愛問的問題之一。
那么現在面試官問了你這樣幾個問題:
1、常見的異常有哪些(至少說5個)
算術異常:ArithmeticExecption
空指針異常:NullPointerException
數組下標越界異常:ArrayIndexOutOfBoundsException
類型轉換異常:ClassCastException
數組負下標異常:NegativeArrayException
字符串轉換為數字異常:NumberFormatException、
輸入類型不匹配:inputMisMatchException
2、Final 和 finally 有什么區別?
Final 修飾符, 變量,方法,類,最終的,最后一個版本
修飾變量的時候 , 常量,- 不能修改
修飾方法的時候,不能被重寫
修飾類的時候,不能被繼承
finally是異常中的一個代碼塊,表示的是這段代碼一定會被執行
3、try-catch塊中存在return語句,是否還執行finally塊?如果執行,說出執行順序
不管是否有異常,finally塊中的代碼都會被執行。當try-catch中有return時,finally仍然會執行。
在執行時,當return語句看到下面還有finally關鍵字時,會優先讓finally中的代碼先執行,然后執行return。
4、try-catch-finally塊中,finally不執行的情況是什么?
除非在try的塊中或者catch塊中調用了退出虛擬機的方法,即使用代碼:System.exit(1);,否則不管在try塊、catch塊中執行怎樣的代碼,出現怎樣的情況,異常處理的finally塊都是會被執行的。
?
總結
以上是生活随笔為你收集整理的基础向:关于异常(Exception)面试常会问到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugkuCTF-MISC题where
- 下一篇: React之初始化state