1. java.lang.nullpointerexception\x0d\x0a 這個異常大家肯定都經(jīng)常遇到,異常的解釋是"程序遇上了空指針",簡單地說就是調(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)用的話)\x0d\x0a\x0d\x0a 2. java.lang.classnotfoundexception\x0d\x0a 這個異常是很多原本在jb等開發(fā)環(huán)境中開發(fā)的程序員,把jb下的程序包放在wtk下編譯經(jīng)常出現(xiàn)的問題,異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可,如果是在jb下做的程序包,一般都是默認加上package的,所以轉(zhuǎn)到wtk下后要注意把package的路徑加上。\x0d\x0a\x0d\x0a 3. java.lang.arithmeticexception\x0d\x0a 這個異常的解釋是"數(shù)學運算異常",比如程序中出現(xiàn)了除以零這樣的運算就會出這樣的異常,對這種異常,大家就要好好檢查一下自己程序中涉及到數(shù)學運算的地方,公式是不是有不妥了。\x0d\x0a\x0d\x0a 4. java.lang.arrayindexoutofboundsexception\x0d\x0a 這個異常相信很多朋友也經(jīng)常遇到過,異常的解釋是"數(shù)組下標越界",現(xiàn)在程序中大多都有對數(shù)組的操作,因此在調(diào)用數(shù)組的時候一定要認真檢查,看自己調(diào)用的下標是不是超出了數(shù)組的范圍,一般來說,顯示(即直接用常數(shù)當下標)調(diào)用不太容易出這樣的錯,但隱式(即用變量表示下標)調(diào)用就經(jīng)常出錯了,還有一種情況,是程序中定義的數(shù)組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數(shù)組的length,以免出現(xiàn)這個異常。\x0d\x0a\x0d\x0a 5. java.lang.illegalargumentexception\x0d\x0a 這個異常的解釋是"方法的參數(shù)錯誤",很多j2me的類庫中的方法在一些情況下都會引發(fā)這樣的錯誤,比如音量調(diào)節(jié)方法中的音量參數(shù)如果寫成負數(shù)就會出現(xiàn)這個異常,再比如g.setcolor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現(xiàn)這個異常,因此一旦發(fā)現(xiàn)這個異常,我們要做的,就是趕緊去檢查一下方法調(diào)用中的參數(shù)傳遞是不是出現(xiàn)了錯誤。\x0d\x0a\x0d\x0a 6. java.lang.illegalaccessexception\x0d\x0a 這個異常的解釋是"沒有訪問權(quán)限",當應用程序要調(diào)用一個類,但當前的方法即沒有對該類的訪問權(quán)限便會出現(xiàn)這個異常。對程序中用了package的情況下要注意這個異常。\x0d\x0a\x0d\x0a 其他還有很多異常,我就不一一列舉了,我要說明的是,一個合格的程序員,需要對程序中常見的問題有相當?shù)牧私夂拖鄳慕鉀Q辦法,否則僅僅停留在寫程序而不會改程序的話,會極大影響到自己的開發(fā)的。關(guān)于異常的全部說明,在api里都可以查閱。\x0d\x0a\x0d\x0a算術(shù)異常類:ArithmeticExecption\x0d\x0a\x0d\x0a空指針異常類:NullPointerException\x0d\x0a\x0d\x0a類型強制轉(zhuǎn)換異常:ClassCastException\x0d\x0a\x0d\x0a數(shù)組負下標異常:NegativeArrayException\x0d\x0a\x0d\x0a數(shù)組下標越界異常:ArrayIndexOutOfBoundsException\x0d\x0a\x0d\x0a違背安全原則異常:SecturityException\x0d\x0a\x0d\x0a文件已結(jié)束異常:EOFException\x0d\x0a\x0d\x0a文件未找到異常:FileNotFoundException\x0d\x0a\x0d\x0a字符串轉(zhuǎn)換為數(shù)字異常:NumberFormatException\x0d\x0a\x0d\x0a操作數(shù)據(jù)庫異常:SQLException\x0d\x0a\x0d\x0a輸入輸出異常:IOException\x0d\x0a\x0d\x0a方法未找到異常:NoSuchMethodException\x0d\x0a\x0d\x0ajava.lang.AbstractMethodError\x0d\x0a\x0d\x0a抽象方法錯誤。當應用試圖調(diào)用抽象方法時拋出。\x0d\x0a\x0d\x0ajava.lang.AssertionError\x0d\x0a\x0d\x0a斷言錯。用來指示一個斷言失敗的情況。\x0d\x0a\x0d\x0ajava.lang.ClassCircularityError\x0d\x0a\x0d\x0a類循環(huán)依賴錯誤。在初始化一個類時,若檢測到類之間循環(huán)依賴則拋出該異常。\x0d\x0a\x0d\x0ajava.lang.ClassFormatError\x0d\x0a\x0d\x0a類格式錯誤。當Java虛擬機試圖從一個文件中讀取Java類,而檢測到該文件的內(nèi)容不符合類的有效格式時拋出。\x0d\x0a\x0d\x0ajava.lang.Error\x0d\x0a\x0d\x0a錯誤。是所有錯誤的基類,用于標識嚴重的程序運行問題。這些問題通常描述一些不應被應用程序捕獲的反常情況。\x0d\x0a\x0d\x0ajava.lang.ExceptionInInitializerError\x0d\x0a\x0d\x0a初始化程序錯誤。當執(zhí)行一個類的靜態(tài)初始化程序的過程中,發(fā)生了異常時拋出。靜態(tài)初始化程序是指直接包含于類中的static語句段。\x0d\x0a\x0d\x0ajava.lang.IllegalAccessError\x0d\x0a\x0d\x0a違法訪問錯誤。當一個應用試圖訪問、修改某個類的域(Field)或者調(diào)用其方法,但是又違反域或方法的可見性聲明,則拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IncompatibleClassChangeError\x0d\x0a\x0d\x0a不兼容的類變化錯誤。當正在執(zhí)行的方法所依賴的類定義發(fā)生了不兼容的改變時,拋出該異常。一般在修改了應用中的某些類的聲明定義而沒有對整個應用重新編譯而直接運行的情況下,容易引發(fā)該錯誤。\x0d\x0a\x0d\x0ajava.lang.InstantiationError\x0d\x0a\x0d\x0a實例化錯誤。當一個應用試圖通過Java的new操作符構(gòu)造一個抽象類或者接口時拋出該異常.\x0d\x0a\x0d\x0ajava.lang.InternalError\x0d\x0a\x0d\x0a內(nèi)部錯誤。用于指示Java虛擬機發(fā)生了內(nèi)部錯誤。\x0d\x0a\x0d\x0ajava.lang.LinkageError\x0d\x0a\x0d\x0a鏈接錯誤。該錯誤及其所有子類指示某個類依賴于另外一些類,在該類編譯之后,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發(fā)錯誤的情況。\x0d\x0a\x0d\x0ajava.lang.NoClassDefFoundError\x0d\x0a\x0d\x0a未找到類定義錯誤。當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.NoSuchFieldError\x0d\x0a\x0d\x0a域不存在錯誤。當應用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.NoSuchMethodError\x0d\x0a\x0d\x0a方法不存在錯誤。當應用試圖調(diào)用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.OutOfMemoryError\x0d\x0a\x0d\x0a內(nèi)存不足錯誤。當可用內(nèi)存不足以讓Java虛擬機分配給一個對象時拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.StackOverflowError\x0d\x0a\x0d\x0a堆棧溢出錯誤。當一個應用遞歸調(diào)用的層次太深而導致堆棧溢出時拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.ThreadDeath\x0d\x0a\x0d\x0a線程結(jié)束。當調(diào)用Thread類的stop方法時拋出該錯誤,用于指示線程結(jié)束。\x0d\x0a\x0d\x0ajava.lang.UnknownError\x0d\x0a\x0d\x0a未知錯誤。用于指示Java虛擬機發(fā)生了未知嚴重錯誤的情況。\x0d\x0a\x0d\x0ajava.lang.UnsatisfiedLinkError\x0d\x0a\x0d\x0a未滿足的鏈接錯誤。當Java虛擬機未找到某個類的聲明為native方法的本機語言定義時拋出。\x0d\x0a\x0d\x0ajava.lang.UnsupportedClassVersionError\x0d\x0a\x0d\x0a不支持的類版本錯誤。當Java虛擬機試圖從讀取某個類文件,但是發(fā)現(xiàn)該文件的主、次版本號不被當前Java虛擬機支持的時候,拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.VerifyError\x0d\x0a\x0d\x0a驗證錯誤。當驗證器檢測到某個類文件中存在內(nèi)部不兼容或者安全問題時拋出該錯誤。\x0d\x0a\x0d\x0ajava.lang.VirtualMachineError\x0d\x0a\x0d\x0a虛擬機錯誤。用于指示虛擬機被破壞或者繼續(xù)執(zhí)行操作所需的資源不足的情況。\x0d\x0a\x0d\x0ajava.lang.ArithmeticException\x0d\x0a\x0d\x0a算術(shù)條件異常。譬如:整數(shù)除零等。\x0d\x0a\x0d\x0ajava.lang.ArrayIndexOutOfBoundsException\x0d\x0a\x0d\x0a數(shù)組索引越界異常。當對數(shù)組的索引值為負數(shù)或大于等于數(shù)組大小時拋出。\x0d\x0a\x0d\x0ajava.lang.ArrayStoreException\x0d\x0a\x0d\x0a數(shù)組存儲異常。當向數(shù)組中存放非數(shù)組聲明類型對象時拋出。\x0d\x0a\x0d\x0ajava.lang.ClassCastException\x0d\x0a\x0d\x0a類造型異常。假設有類A和B(A不是B的父類或子類),O是A的實例,那么當強制將O構(gòu)造為類B的實例時拋出該異常。該異常經(jīng)常被稱為強制類型轉(zhuǎn)換異常。\x0d\x0a\x0d\x0ajava.lang.ClassNotFoundException\x0d\x0a\x0d\x0a找不到類異常。當應用試圖根據(jù)字符串形式的類名構(gòu)造類,而在遍歷CLASSPAH之后找不到對應名稱的class文件時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.CloneNotSupportedException\x0d\x0a\x0d\x0a不支持克隆異常。當沒有實現(xiàn)Cloneable接口或者不支持克隆方法時,調(diào)用其clone()方法則拋出該異常。\x0d\x0a\x0d\x0ajava.lang.EnumConstantNotPresentException\x0d\x0a\x0d\x0a枚舉常量不存在異常。當應用試圖通過名稱和枚舉類型訪問一個枚舉對象,但該枚舉對象并不包含常量時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.Exception\x0d\x0a\x0d\x0a根異常。用以描述應用程序希望捕獲的情況。\x0d\x0a\x0d\x0ajava.lang.IllegalAccessException\x0d\x0a\x0d\x0a違法的訪問異常。當應用試圖通過反射方式創(chuàng)建某個類的實例、訪問該類屬性、調(diào)用該類方法,而當時又無法訪問類的、屬性的、方法的或構(gòu)造方法的定義時拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IllegalMonitorStateException\x0d\x0a\x0d\x0a違法的監(jiān)控狀態(tài)異常。當某個線程試圖等待一個自己并不擁有的對象(O)的監(jiān)控器或者通知其他線程等待該對象(O)的監(jiān)控器時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IllegalStateException\x0d\x0a\x0d\x0a違法的狀態(tài)異常。當在Java環(huán)境和應用尚未處于某個方法的合法調(diào)用狀態(tài),而調(diào)用了該方法時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IllegalThreadStateException\x0d\x0a\x0d\x0a違法的線程狀態(tài)異常。當縣城尚未處于某個方法的合法調(diào)用狀態(tài),而調(diào)用了該方法時,拋出異常。\x0d\x0a\x0d\x0ajava.lang.IndexOutOfBoundsException\x0d\x0a\x0d\x0a索引越界異常。當訪問某個序列的索引值小于0或大于等于序列大小時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.InstantiationException\x0d\x0a\x0d\x0a實例化異常。當試圖通過newInstance()方法創(chuàng)建某個類的實例,而該類是一個抽象類或接口時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.InterruptedException\x0d\x0a\x0d\x0a被中止異常。當某個線程處于長時間的等待、休眠或其他暫停狀態(tài),而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NegativeArraySizeException\x0d\x0a\x0d\x0a數(shù)組大小為負值異常。當使用負數(shù)大小值創(chuàng)建數(shù)組時拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NoSuchFieldException\x0d\x0a\x0d\x0a屬性不存在異常。當訪問某個類的不存在的屬性時拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NoSuchMethodException\x0d\x0a\x0d\x0a方法不存在異常。當訪問某個類的不存在的方法時拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NullPointerException\x0d\x0a\x0d\x0a空指針異常。當應用試圖在要求使用對象的地方使用了null時,拋出該異常。譬如:調(diào)用null對象的實例方法、訪問null對象的屬性、計算null對象的長度、使用throw語句拋出null等等。\x0d\x0a\x0d\x0ajava.lang.NumberFormatException\x0d\x0a\x0d\x0a數(shù)字格式異常。當試圖將一個String轉(zhuǎn)換為指定的數(shù)字類型,而該字符串確不滿足數(shù)字類型要求的格式時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.RuntimeException\x0d\x0a\x0d\x0a運行時異常。是所有Java虛擬機正常操作期間可以被拋出的異常的父類。\x0d\x0a\x0d\x0ajava.lang.SecurityException\x0d\x0a\x0d\x0a安全異常。由安全管理器拋出,用于指示違反安全情況的異常。\x0d\x0a\x0d\x0ajava.lang.StringIndexOutOfBoundsException\x0d\x0a\x0d\x0a字符串索引越界異常。當使用索引值訪問某個字符串中的字符,而該索引值小于0或大于等于序列大小時,拋出該異常。\x0d\x0a\x0d\x0ajava.lang.TypeNotPresentException\x0d\x0a\x0d\x0a類型不存在異常。當應用試圖
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設、彌勒網(wǎng)站維護、網(wǎng)站推廣。
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技術(shù)應用領(lǐng)域:
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在電子商務領(lǐng)域以及網(wǎng)站開發(fā)領(lǐng)域占據(jù)了一定的席位。開發(fā)人員可以運用許多不同的框架來創(chuàng)建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的servlet,jsp和以struts為基礎(chǔ)的網(wǎng)站在政府項目中也經(jīng)常被用到。例如醫(yī)療救護、保險、教育、國防以及其他的不同部門網(wǎng)站都是以Java為基礎(chǔ)來開發(fā)的。
4、嵌入式領(lǐng)域
Java在嵌入式領(lǐng)域發(fā)展空間很大。在這個平臺上,只需130KB就能夠使用Java技術(shù)(在智能卡或者傳感器上)。
5、大數(shù)據(jù)技術(shù)
Hadoop以及其他大數(shù)據(jù)處理技術(shù)很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及ElasticSearchas。
6、高頻交易的空間
Java平臺提高了這個平臺的特性和即使編譯,他同時也能夠像C++一樣傳遞數(shù)據(jù)。正是由于這個原因,Java成為的程序員編寫交易平臺的語言,因為雖然性能不比C++,但開發(fā)人員可以避開安全性,可移植性和可維護性等問題。
7、科學應用
Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的并發(fā)性更好。
Java中的異常處理機制已經(jīng)比較成熟,我們的Java程序到處充滿了異常的可能,如果對這些異常不做預先的處理,那么將來程序崩潰就無從調(diào)試,很難找到異常所在的位置。大理電腦培訓將探討一下Java中異常與錯誤的處理方法,一起來看看。
異常與錯誤:
異常:
在Java中程序的錯誤主要是語法錯誤和語義錯誤,一個程序在編譯和運行時出現(xiàn)的錯誤我們統(tǒng)一稱之為異常,它是VM(虛擬機)通知你的一種方式,通過這種方式,VM讓你知道,你(開發(fā)人員)已經(jīng)犯了個錯誤,現(xiàn)在有一個機會來修改它。Java中使用異常類來表示異常,不同的異常類代表了不同的異常。但是在Java中所有的異常都有一個基類,叫做Exception。
錯誤:
它指的是一個合理的應用程序不能截獲的嚴重的問題。大多數(shù)都是反常的情況。錯誤是VM的一個故障(雖然它可以是任何系統(tǒng)級的服務)。所以,錯誤是很難處理的,一般的開發(fā)人員(當然不是你)是無法處理這些錯誤的,比如內(nèi)存溢出。和異常一樣,在Java中用錯誤類來表示錯誤,不同的錯誤類代表了不同的錯誤。但是在Java中所有的錯誤都有一個基類,叫做Error。
綜上,我們可以知道異常和錯誤最本質(zhì)的區(qū)別就是異常能被開發(fā)人員處理而錯誤時系統(tǒng)本來自帶的,一般無法處理也不需要我們程序員來處理。
1.一個異常是在一個程序執(zhí)行過程中出現(xiàn)的一個事件,它中斷了正常指令的運行
2.錯誤,偏離了可接受的代碼行為的一個動作或?qū)嵗?/p>
異常的結(jié)構(gòu)分類:
1、運行時異常(未檢查異常)
2、編譯時異常(已檢查異常)
運行異常即是RuntimeException;其余的全部為編譯異常
在Java中異常Exception和錯誤Error有個共同的父類Throwable。
ErrorException
runtimeException幾個子類
1、java.lang.ArrayIndexOutOfBoundsException
數(shù)組索引越界異常。當對數(shù)組的索引值為負數(shù)或大于等于數(shù)組大小時拋出。
2、java.lang.ArithmeticException
算術(shù)條件異常。譬如:整數(shù)除零等。
3、java.lang.NullPointerException
空指針異常。當應用試圖在要求使用對象的地方使用了null時,拋出該異常。譬如:調(diào)用null對象的實例方法、訪問null對象的
屬性、計算null對象的長度、使用throw語句拋出null等等
4、java.lang.ClassNotFoundException
找不到類異常。當應用試圖根據(jù)字符串形式的類名構(gòu)造類,而在遍歷CLASSPAH之后找不到對應名稱的class文件時,拋出
該異常。
新聞名稱:關(guān)于java代碼異常 java報錯代碼
網(wǎng)站路徑:http://jinyejixie.com/article44/dosgsee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、品牌網(wǎng)站設計、App設計、網(wǎng)站營銷、網(wǎng)站設計公司、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)