那些年踩过的Java异常,简直了!
1、NullPointerException
空指針異常,操作一個 null 對象的方法或屬性時會拋出這個異常。具體看這篇文章:Java 避免空指針的 5 個案例。
?
2、OutOfMemoryError
內存異常異常,這不是程序能控制的,是指要分配的對象的內存超出了當前最大的堆內存,需要調整堆內存大小(-Xmx)以及優化程序。
3、IOException
IO,即:input, output,我們在讀寫磁盤文件、網絡內容的時候經常會生的一種異常,這種異常是受檢查異常,需要進行手工捕獲。
如文件讀寫會拋出 IOException:
public int read() throws IOException
public void write(int b) throws IOException
4、FileNotFoundException
文件找不到異常,如果文件不存在就會拋出這種異常。
如定義輸入輸出文件流,文件不存在會報錯:
public FileInputStream(File file) throws FileNotFoundException
public FileOutputStream(File file) throws FileNotFoundException
FileNotFoundException 其實是 IOException 的子類,同樣是受檢查異常,需要進行手工捕獲。
5、ClassNotFoundException
類找不到異常,Java開發中經常遇到,是不是很絕望?這是在加載類的時候拋出來的,即在類路徑下不能加載指定的類。
看一個示例:
public staticClassgetExistingClass(ClassLoader classLoader, String className) {
try {
return (Class) Class.forName(className, true, classLoader);
}
catch (ClassNotFoundException e) {
return null;
}
}
預覽
它是受檢查異常,需要進行手工捕獲。
6、ClassCastException
類轉換異常,將一個不是該類的實例轉換成這個類就會拋出這個異常。
如將一個數字強制轉換成字符串就會報這個異常:
Object x = new Integer(0);
System.out.println((String)x);
預覽
這是運行時異常,不需要手工捕獲。
7、NoSuchMethodException
沒有這個方法異常,一般發生在反射調用方法的時候,如:
public Method getMethod(String name, Class... parameterTypes)
throws NoSuchMethodException, SecurityException {
checkMemberAccess(Member.PUBLIC, Reflection.getCallerClass(), true);
Method method = getMethod0(name, parameterTypes, true);
if (method == null) {
throw new NoSuchMethodException(getName() + . + name + argumentTypesToString(parameterTypes));
}
return method;
}
預覽
它是受檢查異常,需要進行手工捕獲。
8、IndexOutOfBoundsException
索引越界異常,當操作一個字符串或者數組的時候經常遇到的異常。
?為了讓學習變得輕松、高效,今天給大家免費分享一套Java教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736
總結
以上是生活随笔為你收集整理的那些年踩过的Java异常,简直了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows的python切换环境_W
- 下一篇: vector父类类型可以存放子类吗_拼夕