激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - 淺談十個常見的Java異常出現原因

淺談十個常見的Java異常出現原因

2021-07-24 14:44IT追夢猿 Java教程

這篇文章主要介紹了十個常見的Java異常出現原因,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

異常是 java 程序中經常遇到的問題,我想每一個 java 程序員都討厭異常,一 個異常就是一個 bug,就要花很多時間來定位異常問題。

1、nullpointerexception

空指針異常,操作一個 null 對象的方法或屬性時會拋出這個異常。具體看上篇文章:空指針常見案例。

2、outofoutofmemoryerror

內存出現異常的一種異常,這不是程序能控制的,是指要分配的對象的內存超出了當前最大的堆內存,需要調整堆內存大小(-xmx)以及優化程序。

3、ioexception

io,即:input, output,我們在讀寫磁盤文件、網絡內容的時候經常會生的一種異常,這種異常是受檢查異常,需要進行手工捕獲。

如文件讀寫會拋出 ioexception:

?
1
2
public int read() throws ioexception
public void write(int b) throws ioexception

4、filenotfoundexception

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

如定義輸入輸出文件流,文件不存在會報錯:

?
1
2
public fileinputstream(file file) throws filenotfoundexception
public fileoutputstream(file file) throws filenotfoundexception

filenotfoundexception 其實是 ioexception 的子類,同樣是受檢查異常,需要進行手工捕獲。

5、classnotfoundexception

類找不到異常,java開發中經常遇到,是不是很絕望?這是在加載類的時候拋出來的,即在類路徑下不能加載指定的類。

看一個示例:

?
1
2
3
4
5
6
7
8
public static <t> class<t> getexistingclass(classloader classloader, string classname) {
 try {
   return (class<t>) class.forname(classname, true, classloader);
 }
 catch (classnotfoundexception e) {
   return null;
 }
}

它是受檢查異常,需要進行手工捕獲。

6、classcastexception

類轉換異常,將一個不是該類的實例轉換成這個類就會拋出這個異常。

如將一個數字強制轉換成字符串就會報這個異常:

?
1
2
object x = new integer(0);
system.out.println((string)x);

這是運行時異常,不需要手工捕獲。

7、nosuchmethodexception

沒有這個方法異常,一般發生在反射調用方法的時候,如:

?
1
2
3
4
5
6
7
8
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

索引越界異常,當操作一個字符串或者數組的時候經常遇到的異常。

例:一個arraylist數組中沒有元素,而你想獲取第一個元素,運行是就會報此類型的錯誤。

?
1
2
3
4
5
6
public class test{
   public static void main(args[] ){
     list<string> list = new arraylist<>();
     system.out.println(list.get(0));
   }
}

它是運行時異常,不需要手工捕獲。

9、arithmeticexception

算術異常,發生在數字的算術運算時的異常,如一個數字除以 0 就會報這個錯。

?
1
double n = 3 / 0;

這個異常雖然是運行時異常,可以手工捕獲拋出自定義的異常,如:

?
1
2
3
4
5
6
7
8
9
public static timestamp from(instant instant) {
  try {
    timestamp stamp = new timestamp(instant.getepochsecond() * millis_per_second);
    stamp.nanos = instant.getnano();
    return stamp;
  } catch (arithmeticexception ex) {
    throw new illegalargumentexception(ex);
  }
}

10、sqlexception

sql異常,發生在操作數據庫時的異常。

如下面的獲取連接:

?
1
2
3
4
5
6
7
public connection getconnection() throws sqlexception {
  if (getuser() == null) {
    return drivermanager.getconnection(url);
  } else {
    return drivermanager.getconnection(url, getuser(), getpassword());
  }
}

又或者是獲取下一條記錄的時候:

?
1
1 boolean next() throws sqlexception;

它是受檢查異常,需要進行手工捕獲。

以上所述是小編給大家介紹的十個常見的java異常出現原因詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.cnblogs.com/aiitzzx0116/p/10505476.html

延伸 · 閱讀

精彩推薦
1092
主站蜘蛛池模板: 中文字幕在线视频日本 | 在线亚洲欧美 | 九九热视频这里只有精品 | www.狠狠插.com| 7777在线观看 | 日韩视频在线观看免费视频 | 毛片小网站 | 国产免费传媒av片在线 | 免费观看一级淫片 | 操操操操操 | 国产精品色综合 | 毛片在线免费播放 | 久久精品中文字幕一区二区 | 成人国产在线视频 | 男女生羞羞视频网站在线观看 | 成人一区二区在线观看视频 | 久久9久久 | 一级黄色毛片播放 | 成人在线国产 | 精品视频一区二区三区四区 | 激情小视频在线观看 | 精品三区视频 | 中韩毛片 | a视频在线看 | 日本一级黄色毛片 | 九九热精品在线 | 亚洲αv| 精品久久一区二区 | 免费黄色av | 亚洲精品久久久久久 | 国产一区二区三区四区波多野结衣 | 在线观看国产日韩 | 国产精品午夜未成人免费观看 | 国产精品久久久久久久四虎电影 | 国产中文一区 | 黄色免费网站在线观看 | 娇喘视频在线观看 | 国产91丝袜在线播放 | 亚洲第一视频 | 欧美中文字幕在线视频 | 久久久久九九九女人毛片 |