成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

10 個(gè)讓人深惡痛絕的 Java 異常

開(kāi)發(fā) 后端
異常是 Java 程序中經(jīng)常遇到的問(wèn)題,我想每一個(gè) Java 程序員都討厭異常,一 個(gè)異常就是一個(gè) BUG,就要花很多時(shí)間來(lái)定位異常問(wèn)題。

 異常是 Java 程序中經(jīng)常遇到的問(wèn)題,我想每一個(gè) Java 程序員都討厭異常,一 個(gè)異常就是一個(gè) BUG,就要花很多時(shí)間來(lái)定位異常問(wèn)題。

什么是異常及異常的分類請(qǐng)看這篇文章:一張圖搞清楚 Java 異常機(jī)制。

今天,棧長(zhǎng)來(lái)列一下 Java 中經(jīng)常遇到的前 10 個(gè)異常,排名不分先后。

[[257324]]

1、NullPointerException

空指針異常,操作一個(gè) null 對(duì)象的方法或?qū)傩詴r(shí)會(huì)拋出這個(gè)異常。

2、OutOfMemoryError

內(nèi)存異常異常,這不是程序能控制的,是指要分配的對(duì)象的內(nèi)存超出了當(dāng)前***的堆內(nèi)存,需要調(diào)整堆內(nèi)存大小(-Xmx)以及優(yōu)化程序。

3、IOException

IO,即:input, output,我們?cè)谧x寫(xiě)磁盤(pán)文件、網(wǎng)絡(luò)內(nèi)容的時(shí)候經(jīng)常會(huì)生的一種異常,這種異常是受檢查異常,需要進(jìn)行手工捕獲。

如文件讀寫(xiě)會(huì)拋出 IOException:

  1. public int read() throws IOException 
  2. public void write(int b) throws IOException 

4、FileNotFoundException

文件找不到異常,如果文件不存在就會(huì)拋出這種異常。

如定義輸入輸出文件流,文件不存在會(huì)報(bào)錯(cuò):

  1. public FileInputStream(File file) throws FileNotFoundException 
  2. public FileOutputStream(File file) throws FileNotFoundException 

FileNotFoundException 其實(shí)是 IOException 的子類,同樣是受檢查異常,需要進(jìn)行手工捕獲。

5、ClassNotFoundException

類找不到異常,Java開(kāi)發(fā)中經(jīng)常遇到,是不是很絕望?這是在加載類的時(shí)候拋出來(lái)的,即在類路徑下不能加載指定的類。

看一個(gè)示例:

  1. public static <T> Class<T> getExistingClass(ClassLoader classLoader, String className) { 
  2.   try { 
  3.      return (Class<T>) Class.forName(className, true, classLoader); 
  4.   } 
  5.   catch (ClassNotFoundException e) { 
  6.      return null
  7.   } 

它是受檢查異常,需要進(jìn)行手工捕獲。

6、ClassCastException

類轉(zhuǎn)換異常,將一個(gè)不是該類的實(shí)例轉(zhuǎn)換成這個(gè)類就會(huì)拋出這個(gè)異常。

如將一個(gè)數(shù)字強(qiáng)制轉(zhuǎn)換成字符串就會(huì)報(bào)這個(gè)異常:

  1. Object x = new Integer(0); 
  2. System.out.println((String)x); 

這是運(yùn)行時(shí)異常,不需要手工捕獲。

7、NoSuchMethodException

沒(méi)有這個(gè)方法異常,一般發(fā)生在反射調(diào)用方法的時(shí)候,如:

  1. public Method getMethod(String name, Class<?>... parameterTypes) 
  2.     throws NoSuchMethodException, SecurityException { 
  3.     checkMemberAccess(Member.PUBLIC, Reflection.getCallerClass(), true); 
  4.     Method method = getMethod0(name, parameterTypes, true); 
  5.     if (method == null) { 
  6.         throw new NoSuchMethodException(getName() + "." + name + argumentTypesToString(parameterTypes)); 
  7.     } 
  8.     return method; 

它是受檢查異常,需要進(jìn)行手工捕獲。

8、IndexOutOfBoundsException

索引越界異常,當(dāng)操作一個(gè)字符串或者數(shù)組的時(shí)候經(jīng)常遇到的異常。

 

如圖所示,它是運(yùn)行時(shí)異常,不需要手工捕獲。

9、ArithmeticException

算術(shù)異常,發(fā)生在數(shù)字的算術(shù)運(yùn)算時(shí)的異常,如一個(gè)數(shù)字除以 0 就會(huì)報(bào)這個(gè)錯(cuò)。

  1. double n = 3 / 0; 

這個(gè)異常雖然是運(yùn)行時(shí)異常,可以手工捕獲拋出自定義的異常,如:

  1. public static Timestamp from(Instant instant) { 
  2.     try { 
  3.         Timestamp stamp = new Timestamp(instant.getEpochSecond() * MILLIS_PER_SECOND); 
  4.         stamp.nanos = instant.getNano(); 
  5.         return stamp; 
  6.     } catch (ArithmeticException ex) { 
  7.         throw new IllegalArgumentException(ex); 
  8.     } 

10、SQLException

SQL異常,發(fā)生在操作數(shù)據(jù)庫(kù)時(shí)的異常。

如下面的獲取連接:

  1. public Connection getConnection() throws SQLException { 
  2.     if (getUser() == null) { 
  3.         return DriverManager.getConnection(url); 
  4.     } else { 
  5.         return DriverManager.getConnection(url, getUser(), getPassword()); 
  6.     } 

又或者是獲取下一條記錄的時(shí)候:

  1. boolean next() throws SQLException; 

它是受檢查異常,需要進(jìn)行手工捕獲。

責(zé)任編輯:武曉燕 來(lái)源: Java技術(shù)棧
相關(guān)推薦

2018-08-07 11:15:48

2020-11-02 11:36:51

勒索軟件Maze攻擊

2009-03-09 11:01:34

2021-01-12 19:45:39

Flash路由器軟件

2010-11-03 11:06:57

職場(chǎng)

2011-06-28 08:59:46

瑞星U盤(pán)病毒

2019-07-17 15:53:54

AIIBM績(jī)效管理

2025-04-07 09:10:15

2011-02-28 14:46:00

2010-08-27 13:26:16

IE6IE7FF

2019-10-25 16:16:52

數(shù)據(jù)庫(kù)操作系統(tǒng)黑客

2010-08-20 09:33:22

IE6IE7IE8

2012-09-25 09:52:20

2012-03-07 11:00:56

2021-04-25 21:11:48

數(shù)據(jù)工具技術(shù)

2009-08-18 10:53:38

Windows 7代碼拒絕IE 6Silverlight

2011-06-21 11:02:15

JavaJboss

2019-09-20 10:27:39

網(wǎng)絡(luò)安全瀏覽器釣魚(yú)

2019-07-29 12:48:08

2018-01-26 17:36:12

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品揄拍一区二区 | 久久国产精品视频 | 日韩欧美国产成人一区二区 | 涩涩导航 | 久久99国产精一区二区三区 | 国产精品乱码一二三区的特点 | 亚洲一区二区三区四区视频 | 久久一区二区三区四区五区 | 日日夜夜天天 | 免费看国产精品视频 | 国产小视频在线 | 国产午夜精品一区二区三区四区 | 欧美精品区 | 国产一二区视频 | 国产精品我不卡 | 久久99深爱久久99精品 | 日韩精品不卡 | 欧美日韩在线观看视频网站 | 天天色图 | 日韩久久久久久 | 国产福利二区 | 亚洲欧美国产毛片在线 | 国产精品成人一区二区三区夜夜夜 | 精品久久久久久久久久久 | 国产一区二区三区四区在线观看 | 亚洲欧美久久 | 亚洲成人国产 | www.天堂av.com| 日韩欧美在线观看视频 | 亚洲一区二区在线 | 日韩一级在线 | 中文字幕在线观看视频一区 | 亚洲精品国产a久久久久久 午夜影院网站 | 久久一二区 | 日韩av在线一区二区三区 | 琪琪午夜伦伦电影福利片 | 国产精品美女在线观看 | 日韩中文字幕一区 | 免费看一区二区三区 | 日本不卡高字幕在线2019 | 视频精品一区二区三区 |