java常見錯誤代碼 java常見錯誤提示
Java編程中常見異常有哪些?
【導語】在進行Java編程的過程中,我們需要通過代碼編寫進行程序的運行,都是人工進行代碼編寫,所以會出現(xiàn)不少異?,F(xiàn)象,這都是屬于正?,F(xiàn)象,但是遇到這些異?,F(xiàn)象是需要大家了解并學會處理的,今天就先給大家介紹一下Java編程中常見異常有哪些?一起來看看吧。
Java中常見的異常:
1、空指針異常類:NullPointerException
2、數(shù)據(jù)類型轉(zhuǎn)換異常:java.lang.ClassCastException
3、沒有訪問權(quán)限:java.lang.IllegalAccessException
4、方法的參數(shù)錯誤:java.lang.IllegalArgumentException
5、數(shù)組下標越界異常:java.lang.IndexOutOfBoundsException
6、文件已結(jié)束異常:EOFException
7、文件未找到異常:FileNotFoundException
8、字符串轉(zhuǎn)換為數(shù)字異常:NumberFormatException
9、指定的類不存在: java.lang.ClassNotFoundException
10、實例化異常:java.lang.InstantiationException
Java中數(shù)據(jù)類型轉(zhuǎn)換異常如何理解?
數(shù)據(jù)類型轉(zhuǎn)換異常:java.lang.ClassCastException
當試圖將對某個對象強制執(zhí)行向下轉(zhuǎn)型,但該對象又不可轉(zhuǎn)換又不可轉(zhuǎn)換為其子類的實例時將引發(fā)該異常,如下列代碼。
Object obj = new Integer(0);
String str = obj;
Java中空指針異常類是什么意思?
空指針異常類:NullPointerException
調(diào)用了未經(jīng)初始化的對象或者是不存在的對象。經(jīng)常出現(xiàn)在創(chuàng)建圖片,調(diào)用數(shù)組這些操作中,比如圖片未經(jīng)初始化,或者圖片創(chuàng)建時的路徑錯誤等等。對數(shù)組操作中出現(xiàn)空指針,
即把數(shù)組的初始化和數(shù)組元素的初始化混淆起來了。
數(shù)組的初始化是對數(shù)組分配需要的空間,而初始化后的數(shù)組,其中的元素并沒有實例化, 依然是空的,所以還需要對每個元素都進行初始化(如果要調(diào)用的話)。
Java常見異常有很多,以上這10種希望大家能夠提前了解,這樣能夠幫助大家在實際編寫代碼過程中,更快的進行一場處理,加油!
常見JAVA運行時異常有哪些?
1,java.lang.NullPointerException?
這個異常的解釋是"程序遇上了空指針",簡單地說就是調(diào)用了未經(jīng)初始化的對象或者是不存在的對象,這個錯誤經(jīng)常出現(xiàn)在創(chuàng)建圖片,調(diào)用數(shù)組這些操作中,比如圖片未經(jīng)初始化,或者圖片創(chuàng)建時的路徑錯誤等等。
2,java.lang.ClassNotFoundException?
異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可
3,java.lang.ArrayIndexOutOfBoundsException?
這個異常的解釋是"數(shù)組下標越界",現(xiàn)在程序中大多都有對數(shù)組的操作,因此在調(diào)用數(shù)組的時候一定要認真檢查,看自己調(diào)用的下標是不是超出了數(shù)組的范圍,一般來說,顯示(即直接用常數(shù)當下標)調(diào)用不太容易出這樣的錯,但隱式(即用變量表示下標)調(diào)用就經(jīng)常出錯了.
4,java.lang.NoSuchMethodError??
方法不存在錯誤。當應用試圖調(diào)用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。
5,java.lang.IndexOutOfBoundsException???
索引越界異常。當訪問某個序列的索引值小于0或大于等于序列大小時,拋出該異常。
6,java.lang.NumberFormatException???
數(shù)字格式異常。當試圖將一個String轉(zhuǎn)換為指定的數(shù)字類型,而該字符串確不滿足數(shù)字類型要求的格式時,拋出該異常。
7,java.sql.SQLException?
Sql語句執(zhí)行異常
8,java.io.IOException?
輸入輸出異常?
9,java.lang.IllegalArgumentException?
方法參數(shù)錯誤
10java.lang.IllegalAccessException?
無訪問權(quán)限異常
擴展資料:
Java技術應用領域:
1、Android應用
許多的Android應用都是Java程序員開發(fā)者開發(fā)。雖然Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA游戲,這就使很多非編程人員都認識了JAVA。
2、在金融業(yè)應用的服務器程序
Java在金融服務業(yè)的應用非常廣泛,很多第三方交易系統(tǒng)、銀行、金融機構(gòu)都選擇用Java開發(fā),因為相對而言,Java較安全。大型跨國投資銀行用Java來編寫前臺和后臺的電子交易系統(tǒng),結(jié)算和確認系統(tǒng),數(shù)據(jù)處理項目以及其他項目。
3、網(wǎng)站
Java在電子商務領域以及網(wǎng)站開發(fā)領域占據(jù)了一定的席位。開發(fā)人員可以運用許多不同的框架來創(chuàng)建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的servlet,jsp和以struts為基礎的網(wǎng)站在政府項目中也經(jīng)常被用到。例如醫(yī)療救護、保險、教育、國防以及其他的不同部門網(wǎng)站都是以Java為基礎來開發(fā)的。
4、嵌入式領域
Java在嵌入式領域發(fā)展空間很大。在這個平臺上,只需130KB就能夠使用Java技術(在智能卡或者傳感器上)。
5、大數(shù)據(jù)技術
Hadoop以及其他大數(shù)據(jù)處理技術很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及ElasticSearchas。
6、高頻交易的空間
Java平臺提高了這個平臺的特性和即使編譯,他同時也能夠像C++一樣傳遞數(shù)據(jù)。正是由于這個原因,Java成為的程序員編寫交易平臺的語言,因為雖然性能不比C++,但開發(fā)人員可以避開安全性,可移植性和可維護性等問題。
7、科學應用
Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的并發(fā)性更好。
Java編程中常見的錯誤有哪些
相信作為程序員的我們在對程序進行編譯過程中經(jīng)常會遇到錯誤,或者在運行過程中出現(xiàn)錯誤,在這里主要跟大家談談經(jīng)常遇到的一些異常與錯誤,以及解決辦法。
異常是指程序在編譯或運行過程出現(xiàn)的錯誤。
在java.lang包中Throwable包含了所有的異常。
Error (錯誤) 和Exception(異常)
(1)Error(錯誤)
一旦發(fā)生無法修復,但可以避免發(fā)生。
常見錯誤類:
IOError:I/O錯誤,當發(fā)生嚴重的I/O錯誤時,拋出此錯誤。
VirtualMachineError?:虛擬機錯誤,當 Java 虛擬機崩潰或用盡了它繼續(xù)操作所需的資源時,拋出該錯誤。
StackOverflowError:棧內(nèi)存滿了,當應用程序遞歸太深而發(fā)生堆棧溢出時,拋出該錯誤。
OutofMemoryError:堆內(nèi)存滿了,因為內(nèi)存溢出或沒有可用的內(nèi)存提供給垃圾回收器時,Java 虛擬機無法分配一個對象,這時拋出該異常。
以上是一些常見的錯誤,在Error類中還有一些別的錯誤(參照文件Java.lang.Throwable.Error).
(2)Exception(異常)
一旦發(fā)生,可以捕獲并處理,不會導致程序終止,有時可以避免有時無法避免。
異常的分類:
1.編譯時異常(需要強制處理)?????? 2.運行時異常(不需要強制處理)
常見的異常有:
IOException:輸入輸出流異常
FileNotFoundException:文件找不到的異常
ClassNotFoundException:類找不到的異常
DataFormatException:數(shù)據(jù)格式化異常
NoSuchFieldException:沒有匹配的屬性異常
NoSuchMethodException:沒有匹配的方法異常
SQLException:數(shù)據(jù)庫操作異常
TimeoutException:執(zhí)行超時異常
常見的運行時異常:
RuntimeException:運行時異常
NullPointerException:空指針異常
ArrayIndexOutofBoundsException:數(shù)組越界異
ClassCastException:類型轉(zhuǎn)換異常
IllegalArgumentException:非法的參數(shù)異常
InputMismatchException:輸入不匹配
以上是常見的一些異常,另外還有別的異常,參見文件:Java.lang.Throwable.Exception
既然我們常常會遇到一些異常,那我們?nèi)绾蝸硖幚磉@些異常就是一個急需解決的事情。
(1) 如何處理編譯時異常?
方法一:將需要處理的代碼塊放在一個try...catch...中
try{
//需要處理異常的代碼
}catch(XXXException ef){
ef.printStackTrace();
}
我們方法一就是要將我們不確定的代碼放入try......catch中,先進行try一下,如果沒有異常,則不會觸發(fā)catch,沒有輸出,一旦出現(xiàn)異常,那么catch就會工作,在catch中捕獲異常信息,根據(jù)異常信息進行補救措施。
如以下代碼:
方法二:在出現(xiàn)異常的方法上直接向上拋出異常,throws
void ff() throws XXXException{
}
將出現(xiàn)的異常的代碼中,放入如上的方法中,就會將異常拋給該方法的上一級,在主函數(shù)上繼續(xù)向上拋,最終拋給JVM java虛擬機,讓JVM來解決該問題。
如代碼:
注意:在catch和throws的時候如果不確定是什么異常,就直接寫一個Exception.
(2) 如何處理運行時異常?
1.一般情況下,運行時異常是不用處理的?
2.在某些情況下,如果對發(fā)生異常的結(jié)果進行處理,也可以對運行時異常進行try...catch...
以上就是一些我們處理編譯時異常和運行時異常的方法。
在程序出現(xiàn)異常時,有時候我們可以自定義異常,以便我們能夠發(fā)現(xiàn)是什么異常。
那么如何自定義異常??
1.當運行時,程序出現(xiàn)意外,可以拋出異常對象來結(jié)束程序
如:
//拋出運行時異常對象
RuntimeException ef = new RuntimeException("下標越界!index:"+index+" ,size:"+size());
throw ef;
2.對于編譯時異常,同樣可以拋出異常對象
但在方法定義時候必須加上throws
如:
public void test(int t) throws Exception{
if (t 0 || t 100) {
Exception ef = new Exception("數(shù)據(jù)錯誤");
throw ef;
}
}
例如:
運行結(jié)果:
從結(jié)果可以看出,我們在輸入數(shù)據(jù)的時候出現(xiàn)錯誤,這樣通過自定義異常能夠讓我們更直接快速的找到運行或編譯時的異常。
在上述中我們分別提到了三種throw,分別是Throwable,Throws以及throw,那么到底三者有什么區(qū)別?
Throwable:是指在在Java.lang包中的一個類,其包含了所有的異常和錯誤,其中類Error和Exception 是它
的子類。
Thows:是指在解決編譯時異常,將方法中異常拋給上一級,在方法后面要加Throw Exception來進行拋。
throw:是指在自定義異常時,如果方法出現(xiàn)異常,那么將作為引用方法的對象拋出。即拋出異常。
您可能感興趣的文章
- 04-03蝸牛爬井java代碼 蝸牛爬井的數(shù)學公式
- 04-03java留言功能代碼 java留言功能實現(xiàn)
- 04-03字符串對稱的java代碼 java字符串對齊方式
- 04-03如何解讀java代碼 java代碼怎么讀
- 04-03人臉活體檢測Java代碼 人臉活體檢測識別不了咋整
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10Java Socket編程(三) 服務器Sockets
- 01-10Java進階:Struts多模塊的技巧
- 01-10Java Socket編程(一) Socket傳輸模式
- 01-10Java Socket編程(二) Java面向連接的類


閱讀排行
本欄相關
- 04-03java常見錯誤代碼 java常見錯誤提示
- 04-03蝸牛爬井java代碼 蝸牛爬井的數(shù)學公式
- 04-03java留言功能代碼 java留言功能實現(xiàn)
- 04-03字符串對稱的java代碼 java字符串對齊
- 04-03如何解讀java代碼 java代碼怎么讀
- 04-03人臉活體檢測Java代碼 人臉活體檢測識
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10JVM的垃圾回收機制詳解和調(diào)優(yōu)
- 01-10Java Socket編程(三) 服務器Sockets
- 01-10Java進階:Struts多模塊的技巧
隨機閱讀
- 01-10Java 回調(diào)函數(shù)詳解及使用
- 01-10主流操作系統(tǒng)平臺的宏定義
- 08-05織夢更新欄目出現(xiàn)沒有該欄目數(shù)據(jù),可
- 01-10C++ 整型與字符串的互轉(zhuǎn)方式
- 08-05織夢系統(tǒng)如何批量 更改標題和內(nèi)容關
- 01-10C#利用VS中插件打包并發(fā)布winfrom程序
- 08-05dedecms首頁調(diào)用隨機文章及自動更新功
- 01-11WordPress站點實現(xiàn)分類目錄訂閱功能實
- 01-10Java的帶GUI界面猜數(shù)字游戲的實現(xiàn)示例
- 01-11如何把一個Excel文件放到ASP頁面中去?


