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

10 個(gè)讓人深?lèi)和唇^的 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)題。

什么是異常及異常的分類(lèi)請(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 的子類(lèi),同樣是受檢查異常,需要進(jìn)行手工捕獲。

5、ClassNotFoundException

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

類(lèi)轉(zhuǎn)換異常,將一個(gè)不是該類(lèi)的實(shí)例轉(zhuǎn)換成這個(gè)類(lèi)就會(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

2010-11-03 11:06:57

職場(chǎng)

2021-01-12 19:45:39

Flash路由器軟件

2011-06-28 08:59:46

瑞星U盤(pán)病毒

2025-04-07 09:10:15

2019-07-17 15:53:54

AIIBM績(jī)效管理

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

2009-08-18 10:53:38

Windows 7代碼拒絕IE 6Silverlight

2012-03-07 11:00:56

2021-04-25 21:11:48

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

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)

主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 亚洲欧洲综合av | 成人精品视频在线观看 | 麻豆av一区二区三区久久 | 国产激情视频在线免费观看 | 欧美性生活视频 | 羞羞视频在线观免费观看 | 草草视频在线观看 | 欧美日韩国产高清 | 国产日韩欧美另类 | 亚洲欧洲一区 | 亚洲综合第一页 | 成人中文字幕在线观看 | 人人玩人人添人人澡欧美 | 亚洲午夜在线 | 色综合久久久 | 综合中文字幕 | 精品一区二区三区四区 | 99re热精品视频国产免费 | 国产精品久久久久久久久久免费看 | 亚洲精品电影在线观看 | 日韩一区二区三区精品 | 狠狠操电影 | 欧美亚洲国产日韩 | 一级黄色片美国 | 黄a在线观看 | www.av在线| 波多野结衣电影一区 | 欧美成人精品一区 | 久久精品综合 | 午夜精品一区二区三区在线视频 | 99re | 北条麻妃一区二区三区在线视频 | 亚洲一区视频在线 | av成人在线观看 | 99亚洲精品| 91麻豆精品国产91久久久更新资源速度超快 | 色接久久 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | av免费网站在线观看 | av第一页 |