1,java.lang.NullPointerException?
沙灣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!
這個(gè)異常的解釋是"程序遇上了空指針",簡(jiǎn)單地說(shuō)就是調(diào)用了未經(jīng)初始化的對(duì)象或者是不存在的對(duì)象,這個(gè)錯(cuò)誤經(jīng)常出現(xiàn)在創(chuàng)建圖片,調(diào)用數(shù)組這些操作中,比如圖片未經(jīng)初始化,或者圖片創(chuàng)建時(shí)的路徑錯(cuò)誤等等。
2,java.lang.ClassNotFoundException?
異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可
3,java.lang.ArrayIndexOutOfBoundsException?
這個(gè)異常的解釋是"數(shù)組下標(biāo)越界",現(xiàn)在程正胡序中大多都有對(duì)數(shù)組的操作,因此在調(diào)用數(shù)組的時(shí)候一定要認(rèn)真檢查,看自己調(diào)用的下標(biāo)是不是超出了數(shù)組的范圍,一般來(lái)說(shuō),顯示(即直接用常數(shù)當(dāng)下標(biāo))舉消攔調(diào)用不太容易出這樣的錯(cuò),但隱式(即用變量表示下標(biāo))調(diào)用就經(jīng)常出錯(cuò)了.
4,java.lang.NoSuchMethodError??
方法不存在錯(cuò)誤。當(dāng)應(yīng)用試圖調(diào)用某類的某個(gè)方法,而該類的定義中沒(méi)有該方法的定義時(shí)拋出該錯(cuò)誤。
5,java.lang.IndexOutOfBoundsException???
索引越界異常。當(dāng)訪問(wèn)某個(gè)序列的索引值小于0或大于等于序列大小時(shí),拋出該異常。
6,java.lang.NumberFormatException???
數(shù)字格式異常。當(dāng)試圖將一個(gè)String轉(zhuǎn)換為指定的數(shù)字類型,而該字符串確不滿足數(shù)字類型要求的格式時(shí),拋出該異常。
7,java.sql.SQLException?
Sql語(yǔ)句執(zhí)行異常
8,java.io.IOException?
輸入輸出異常?
9,java.lang.IllegalArgumentException?
方法參數(shù)錯(cuò)誤
10java.lang.IllegalAccessException?
無(wú)訪問(wèn)權(quán)限異常
擴(kuò)展資料:
Java技術(shù)應(yīng)用領(lǐng)域:
1、Android應(yīng)用
許多的Android應(yīng)用都是Java程序員開(kāi)發(fā)者開(kāi)發(fā)。雖然Android運(yùn)用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語(yǔ)言所編寫(xiě)。相當(dāng)一部分的手機(jī)中都支持JAVA游戲,這就使很多非編程人員都認(rèn)識(shí)了JAVA。
2、在金融業(yè)應(yīng)用的服務(wù)器程序
Java在金融服務(wù)業(yè)的應(yīng)用非常廣泛,很多第三方交易系統(tǒng)、銀行、金融機(jī)構(gòu)都選擇用Java開(kāi)發(fā),因?yàn)橄鄬?duì)而言,Java較安全。橋仿大型跨國(guó)投資銀行用Java來(lái)編寫(xiě)前臺(tái)和后臺(tái)的電子交易系統(tǒng),結(jié)算和確認(rèn)系統(tǒng),數(shù)據(jù)處理項(xiàng)目以及其他項(xiàng)目。
3、網(wǎng)站
Java在電子商務(wù)領(lǐng)域以及網(wǎng)站開(kāi)發(fā)領(lǐng)域占據(jù)了一定的席位。開(kāi)發(fā)人員可以運(yùn)用許多不同的框架來(lái)創(chuàng)建web項(xiàng)目,SpringMVC,Struts2.0以及frameworks。即使是簡(jiǎn)單的servlet,jsp和以struts為基礎(chǔ)的網(wǎng)站在政府項(xiàng)目中也經(jīng)常被用到。例如醫(yī)療救護(hù)、保險(xiǎn)、教育、國(guó)防以及其他的不同部門(mén)網(wǎng)站都是以Java為基礎(chǔ)來(lái)開(kāi)發(fā)的。
4、嵌入式領(lǐng)域
Java在嵌入式領(lǐng)域發(fā)展空間很大。在這個(gè)平臺(tái)上,只需130KB就能夠使用Java技術(shù)(在智能卡或者傳感器上)。
5、大數(shù)據(jù)技術(shù)
Hadoop以及其他大數(shù)據(jù)處理技術(shù)很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及ElasticSearchas。
6、高頻交易的空間
Java平臺(tái)提高了這個(gè)平臺(tái)的特性和即使編譯,他同時(shí)也能夠像C++一樣傳遞數(shù)據(jù)。正是由于這個(gè)原因,Java成為的程序員編寫(xiě)交易平臺(tái)的語(yǔ)言,因?yàn)殡m然性能不比C++,但開(kāi)發(fā)人員可以避開(kāi)安全性,可移植性和可維護(hù)性等問(wèn)題。
7、科學(xué)應(yīng)用
Java在科學(xué)應(yīng)用中是很好選擇,包括自然語(yǔ)言處理。最主要的原因是因?yàn)镴ava比C++或者其他語(yǔ)言相對(duì)其安全性、便攜性、可維護(hù)性以及其他高級(jí)語(yǔ)言的并發(fā)性更好。
1. java.lang.nullpointerexception\x0d\x0a 這個(gè)異常大家肯定都經(jīng)常遇到,異常的解釋是"程序遇上了空指針",簡(jiǎn)單地說(shuō)就是調(diào)用了未經(jīng)初始化的對(duì)象或者是不存在的對(duì)象,這個(gè)錯(cuò)誤經(jīng)常出現(xiàn)在創(chuàng)建圖片,調(diào)用數(shù)組這些操作中,比如圖片未經(jīng)初始化,或者圖片創(chuàng)建時(shí)的路徑錯(cuò)誤等等。對(duì)數(shù)組操作中出現(xiàn)空指針,很多情況下是一些剛開(kāi)始學(xué)習(xí)編程的朋友常犯的錯(cuò)誤,襲悔即把數(shù)組的初始化和數(shù)組元素的初始化混淆起來(lái)了。數(shù)組的初始化是對(duì)數(shù)組分配需要的空間,而初始化后的數(shù)組,其中的元素并沒(méi)有實(shí)例化,依然是空的,所以還需要對(duì)每個(gè)元素都進(jìn)行初始化(如果要調(diào)用的話)\x0d\x0a\x0d\x0a 2. java.lang.classnotfoundexception\x0d\x0a 這個(gè)異常是很多原本在jb等開(kāi)發(fā)環(huán)境中開(kāi)發(fā)的程序員,把jb下的程序包放在wtk下編譯經(jīng)常出現(xiàn)的問(wèn)題,異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可,如果是在jb下做的程序包,一般都是默認(rèn)加上package的,所以轉(zhuǎn)到wtk下后要注意把package的路徑加上。\x0d\x0a\x0d\x0a 3. java.lang.arithmeticexception\x0d\x0a 這個(gè)異常的解釋是"數(shù)學(xué)運(yùn)算異常",比如程序中出現(xiàn)了除以零這樣的運(yùn)算就會(huì)出這樣的異常,對(duì)這種異常,大家就要好好檢查一下自己程序中涉及到數(shù)學(xué)運(yùn)算的地方,公式是不是有不妥了。\x0d\x0a\x0d\x0a 4. java.lang.arrayindexoutofboundsexception\x0d\x0a 這個(gè)異常相信很多朋友也經(jīng)常遇到過(guò),異常的解釋是"數(shù)組下標(biāo)越界",現(xiàn)在程序中大多都有對(duì)數(shù)組的操作,因此在調(diào)用數(shù)組的時(shí)候一定要認(rèn)真檢查,看自己調(diào)用的下標(biāo)是不是超出了數(shù)組的范圍,一般來(lái)說(shuō),顯示(即直接用常數(shù)當(dāng)下標(biāo))調(diào)用不太容易出這樣的錯(cuò),但隱式(即用變量表示下標(biāo))調(diào)用就經(jīng)常出錯(cuò)了,還有一種情況,是程序中定義的數(shù)組的長(zhǎng)度是通過(guò)某些特定方法決定的,不是事先聲明的,這個(gè)時(shí)候,最好先查看一下數(shù)組的length,以免出現(xiàn)這個(gè)異常。\x0d\x0a\x0d\x0a 5. java.lang.illegalargumentexception\x0d\x0a 這個(gè)異常的解釋是"方法的參數(shù)錯(cuò)誤",很多j2me的類庫(kù)中的方法在一些情況下都會(huì)引發(fā)這樣的錯(cuò)誤,比如音量調(diào)節(jié)方法中的音量參數(shù)如果寫(xiě)成負(fù)數(shù)就會(huì)出現(xiàn)這個(gè)異常,再比如g.setcolor(int red,int green,int blue)這個(gè)方法中的三個(gè)值,如果有超過(guò)255的也會(huì)出現(xiàn)這個(gè)異常,因此一旦發(fā)現(xiàn)這個(gè)異常,我們要做的,就是趕緊去檢查一下方法調(diào)用中的參數(shù)傳遞是不是出現(xiàn)了錯(cuò)誤。\x0d\x0a\x0d\x0a 6. java.lang.illegalaccessexception\x0d\x0a 這個(gè)異常的解釋是"沒(méi)有訪問(wèn)權(quán)限",當(dāng)應(yīng)用程序要調(diào)用一個(gè)類,但當(dāng)前的方法即沒(méi)有對(duì)該類的訪問(wèn)權(quán)限便會(huì)出現(xiàn)這個(gè)異常。對(duì)程序中用了package的情況下要注意這個(gè)異常。\x0d\x0a\x0d\x0a 其他還有很多異常,我就不一一列舉了,我要說(shuō)明的是,一個(gè)合格的程序員,需要對(duì)程序中常見(jiàn)的問(wèn)題察慎有相當(dāng)?shù)牧私夂拖鄳?yīng)的解決辦法,否則僅僅停留在寫(xiě)程序而不會(huì)改程序的話,會(huì)極大影響到自己的開(kāi)發(fā)的。關(guān)于異常的全部說(shuō)明,在api里敗禪敬都可以查閱。\x0d\x0a\x0d\x0a算術(shù)異常類:ArithmeticExecption\x0d\x0a\x0d\x0a空指針異常類:NullPointerException\x0d\x0a\x0d\x0a類型強(qiáng)制轉(zhuǎn)換異常:ClassCastException\x0d\x0a\x0d\x0a數(shù)組負(fù)下標(biāo)異常:NegativeArrayException\x0d\x0a\x0d\x0a數(shù)組下標(biāo)越界異常: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ù)庫(kù)異常:SQLException\x0d\x0a\x0d\x0a輸入輸出異常:IOException\x0d\x0a\x0d\x0a方法未找到異常:NoSuchMethodException\x0d\x0a\x0d\x0ajava.lang.AbstractMethodError\x0d\x0a\x0d\x0a抽象方法錯(cuò)誤。當(dāng)應(yīng)用試圖調(diào)用抽象方法時(shí)拋出。\x0d\x0a\x0d\x0ajava.lang.AssertionError\x0d\x0a\x0d\x0a斷言錯(cuò)。用來(lái)指示一個(gè)斷言失敗的情況。\x0d\x0a\x0d\x0ajava.lang.ClassCircularityError\x0d\x0a\x0d\x0a類循環(huán)依賴錯(cuò)誤。在初始化一個(gè)類時(shí),若檢測(cè)到類之間循環(huán)依賴則拋出該異常。\x0d\x0a\x0d\x0ajava.lang.ClassFormatError\x0d\x0a\x0d\x0a類格式錯(cuò)誤。當(dāng)Java虛擬機(jī)試圖從一個(gè)文件中讀取Java類,而檢測(cè)到該文件的內(nèi)容不符合類的有效格式時(shí)拋出。\x0d\x0a\x0d\x0ajava.lang.Error\x0d\x0a\x0d\x0a錯(cuò)誤。是所有錯(cuò)誤的基類,用于標(biāo)識(shí)嚴(yán)重的程序運(yùn)行問(wèn)題。這些問(wèn)題通常描述一些不應(yīng)被應(yīng)用程序捕獲的反常情況。\x0d\x0a\x0d\x0ajava.lang.ExceptionInInitializerError\x0d\x0a\x0d\x0a初始化程序錯(cuò)誤。當(dāng)執(zhí)行一個(gè)類的靜態(tài)初始化程序的過(guò)程中,發(fā)生了異常時(shí)拋出。靜態(tài)初始化程序是指直接包含于類中的static語(yǔ)句段。\x0d\x0a\x0d\x0ajava.lang.IllegalAccessError\x0d\x0a\x0d\x0a違法訪問(wèn)錯(cuò)誤。當(dāng)一個(gè)應(yīng)用試圖訪問(wèn)、修改某個(gè)類的域(Field)或者調(diào)用其方法,但是又違反域或方法的可見(jiàn)性聲明,則拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IncompatibleClassChangeError\x0d\x0a\x0d\x0a不兼容的類變化錯(cuò)誤。當(dāng)正在執(zhí)行的方法所依賴的類定義發(fā)生了不兼容的改變時(shí),拋出該異常。一般在修改了應(yīng)用中的某些類的聲明定義而沒(méi)有對(duì)整個(gè)應(yīng)用重新編譯而直接運(yùn)行的情況下,容易引發(fā)該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.InstantiationError\x0d\x0a\x0d\x0a實(shí)例化錯(cuò)誤。當(dāng)一個(gè)應(yīng)用試圖通過(guò)Java的new操作符構(gòu)造一個(gè)抽象類或者接口時(shí)拋出該異常.\x0d\x0a\x0d\x0ajava.lang.InternalError\x0d\x0a\x0d\x0a內(nèi)部錯(cuò)誤。用于指示Java虛擬機(jī)發(fā)生了內(nèi)部錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.LinkageError\x0d\x0a\x0d\x0a鏈接錯(cuò)誤。該錯(cuò)誤及其所有子類指示某個(gè)類依賴于另外一些類,在該類編譯之后,被依賴的類改變了其類定義而沒(méi)有重新編譯所有的類,進(jìn)而引發(fā)錯(cuò)誤的情況。\x0d\x0a\x0d\x0ajava.lang.NoClassDefFoundError\x0d\x0a\x0d\x0a未找到類定義錯(cuò)誤。當(dāng)Java虛擬機(jī)或者類裝載器試圖實(shí)例化某個(gè)類,而找不到該類的定義時(shí)拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.NoSuchFieldError\x0d\x0a\x0d\x0a域不存在錯(cuò)誤。當(dāng)應(yīng)用試圖訪問(wèn)或者修改某類的某個(gè)域,而該類的定義中沒(méi)有該域的定義時(shí)拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.NoSuchMethodError\x0d\x0a\x0d\x0a方法不存在錯(cuò)誤。當(dāng)應(yīng)用試圖調(diào)用某類的某個(gè)方法,而該類的定義中沒(méi)有該方法的定義時(shí)拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.OutOfMemoryError\x0d\x0a\x0d\x0a內(nèi)存不足錯(cuò)誤。當(dāng)可用內(nèi)存不足以讓Java虛擬機(jī)分配給一個(gè)對(duì)象時(shí)拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.StackOverflowError\x0d\x0a\x0d\x0a堆棧溢出錯(cuò)誤。當(dāng)一個(gè)應(yīng)用遞歸調(diào)用的層次太深而導(dǎo)致堆棧溢出時(shí)拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.ThreadDeath\x0d\x0a\x0d\x0a線程結(jié)束。當(dāng)調(diào)用Thread類的stop方法時(shí)拋出該錯(cuò)誤,用于指示線程結(jié)束。\x0d\x0a\x0d\x0ajava.lang.UnknownError\x0d\x0a\x0d\x0a未知錯(cuò)誤。用于指示Java虛擬機(jī)發(fā)生了未知嚴(yán)重錯(cuò)誤的情況。\x0d\x0a\x0d\x0ajava.lang.UnsatisfiedLinkError\x0d\x0a\x0d\x0a未滿足的鏈接錯(cuò)誤。當(dāng)Java虛擬機(jī)未找到某個(gè)類的聲明為native方法的本機(jī)語(yǔ)言定義時(shí)拋出。\x0d\x0a\x0d\x0ajava.lang.UnsupportedClassVersionError\x0d\x0a\x0d\x0a不支持的類版本錯(cuò)誤。當(dāng)Java虛擬機(jī)試圖從讀取某個(gè)類文件,但是發(fā)現(xiàn)該文件的主、次版本號(hào)不被當(dāng)前Java虛擬機(jī)支持的時(shí)候,拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.VerifyError\x0d\x0a\x0d\x0a驗(yàn)證錯(cuò)誤。當(dāng)驗(yàn)證器檢測(cè)到某個(gè)類文件中存在內(nèi)部不兼容或者安全問(wèn)題時(shí)拋出該錯(cuò)誤。\x0d\x0a\x0d\x0ajava.lang.VirtualMachineError\x0d\x0a\x0d\x0a虛擬機(jī)錯(cuò)誤。用于指示虛擬機(jī)被破壞或者繼續(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ù)組索引越界異常。當(dāng)對(duì)數(shù)組的索引值為負(fù)數(shù)或大于等于數(shù)組大小時(shí)拋出。\x0d\x0a\x0d\x0ajava.lang.ArrayStoreException\x0d\x0a\x0d\x0a數(shù)組存儲(chǔ)異常。當(dāng)向數(shù)組中存放非數(shù)組聲明類型對(duì)象時(shí)拋出。\x0d\x0a\x0d\x0ajava.lang.ClassCastException\x0d\x0a\x0d\x0a類造型異常。假設(shè)有類A和B(A不是B的父類或子類),O是A的實(shí)例,那么當(dāng)強(qiáng)制將O構(gòu)造為類B的實(shí)例時(shí)拋出該異常。該異常經(jīng)常被稱為強(qiáng)制類型轉(zhuǎn)換異常。\x0d\x0a\x0d\x0ajava.lang.ClassNotFoundException\x0d\x0a\x0d\x0a找不到類異常。當(dāng)應(yīng)用試圖根據(jù)字符串形式的類名構(gòu)造類,而在遍歷CLASSPAH之后找不到對(duì)應(yīng)名稱的class文件時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.CloneNotSupportedException\x0d\x0a\x0d\x0a不支持克隆異常。當(dāng)沒(méi)有實(shí)現(xiàn)Cloneable接口或者不支持克隆方法時(shí),調(diào)用其clone()方法則拋出該異常。\x0d\x0a\x0d\x0ajava.lang.EnumConstantNotPresentException\x0d\x0a\x0d\x0a枚舉常量不存在異常。當(dāng)應(yīng)用試圖通過(guò)名稱和枚舉類型訪問(wèn)一個(gè)枚舉對(duì)象,但該枚舉對(duì)象并不包含常量時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.Exception\x0d\x0a\x0d\x0a根異常。用以描述應(yīng)用程序希望捕獲的情況。\x0d\x0a\x0d\x0ajava.lang.IllegalAccessException\x0d\x0a\x0d\x0a違法的訪問(wèn)異常。當(dāng)應(yīng)用試圖通過(guò)反射方式創(chuàng)建某個(gè)類的實(shí)例、訪問(wèn)該類屬性、調(diào)用該類方法,而當(dāng)時(shí)又無(wú)法訪問(wèn)類的、屬性的、方法的或構(gòu)造方法的定義時(shí)拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IllegalMonitorStateException\x0d\x0a\x0d\x0a違法的監(jiān)控狀態(tài)異常。當(dāng)某個(gè)線程試圖等待一個(gè)自己并不擁有的對(duì)象(O)的監(jiān)控器或者通知其他線程等待該對(duì)象(O)的監(jiān)控器時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IllegalStateException\x0d\x0a\x0d\x0a違法的狀態(tài)異常。當(dāng)在Java環(huán)境和應(yīng)用尚未處于某個(gè)方法的合法調(diào)用狀態(tài),而調(diào)用了該方法時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.IllegalThreadStateException\x0d\x0a\x0d\x0a違法的線程狀態(tài)異常。當(dāng)縣城尚未處于某個(gè)方法的合法調(diào)用狀態(tài),而調(diào)用了該方法時(shí),拋出異常。\x0d\x0a\x0d\x0ajava.lang.IndexOutOfBoundsException\x0d\x0a\x0d\x0a索引越界異常。當(dāng)訪問(wèn)某個(gè)序列的索引值小于0或大于等于序列大小時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.InstantiationException\x0d\x0a\x0d\x0a實(shí)例化異常。當(dāng)試圖通過(guò)newInstance()方法創(chuàng)建某個(gè)類的實(shí)例,而該類是一個(gè)抽象類或接口時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.InterruptedException\x0d\x0a\x0d\x0a被中止異常。當(dāng)某個(gè)線程處于長(zhǎng)時(shí)間的等待、休眠或其他暫停狀態(tài),而此時(shí)其他的線程通過(guò)Thread的interrupt方法終止該線程時(shí)拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NegativeArraySizeException\x0d\x0a\x0d\x0a數(shù)組大小為負(fù)值異常。當(dāng)使用負(fù)數(shù)大小值創(chuàng)建數(shù)組時(shí)拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NoSuchFieldException\x0d\x0a\x0d\x0a屬性不存在異常。當(dāng)訪問(wèn)某個(gè)類的不存在的屬性時(shí)拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NoSuchMethodException\x0d\x0a\x0d\x0a方法不存在異常。當(dāng)訪問(wèn)某個(gè)類的不存在的方法時(shí)拋出該異常。\x0d\x0a\x0d\x0ajava.lang.NullPointerException\x0d\x0a\x0d\x0a空指針異常。當(dāng)應(yīng)用試圖在要求使用對(duì)象的地方使用了null時(shí),拋出該異常。譬如:調(diào)用null對(duì)象的實(shí)例方法、訪問(wèn)null對(duì)象的屬性、計(jì)算null對(duì)象的長(zhǎng)度、使用throw語(yǔ)句拋出null等等。\x0d\x0a\x0d\x0ajava.lang.NumberFormatException\x0d\x0a\x0d\x0a數(shù)字格式異常。當(dāng)試圖將一個(gè)String轉(zhuǎn)換為指定的數(shù)字類型,而該字符串確不滿足數(shù)字類型要求的格式時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.RuntimeException\x0d\x0a\x0d\x0a運(yùn)行時(shí)異常。是所有Java虛擬機(jī)正常操作期間可以被拋出的異常的父類。\x0d\x0a\x0d\x0ajava.lang.SecurityException\x0d\x0a\x0d\x0a安全異常。由安全管理器拋出,用于指示違反安全情況的異常。\x0d\x0a\x0d\x0ajava.lang.StringIndexOutOfBoundsException\x0d\x0a\x0d\x0a字符串索引越界異常。當(dāng)使用索引值訪問(wèn)某個(gè)字符串中的字符,而該索引值小于0或大于等于序列大小時(shí),拋出該異常。\x0d\x0a\x0d\x0ajava.lang.TypeNotPresentException\x0d\x0a\x0d\x0a類型不存在異常。當(dāng)應(yīng)用試圖
【導(dǎo)語(yǔ)】在進(jìn)行Java編程的過(guò)程中,我們需要通過(guò)代碼編寫(xiě)進(jìn)行程序的運(yùn)行,都是人工進(jìn)行代碼編寫(xiě),所以會(huì)出現(xiàn)不少異?,F(xiàn)象,這都是屬于正常現(xiàn)象,但是遇到這些異常現(xiàn)象是需要大家了解并學(xué)會(huì)處理的,今天就先給大家介紹一下Java編程中常見(jiàn)異常有哪些?一起來(lái)看看吧。
Java中常見(jiàn)的異常:
1、空指針異常類:NullPointerException
2、數(shù)據(jù)類型轉(zhuǎn)換異常:java.lang.ClassCastException
3、沒(méi)有訪問(wèn)權(quán)限:java.lang.IllegalAccessException
4、方法的參數(shù)錯(cuò)誤:java.lang.IllegalArgumentException
5、數(shù)組下標(biāo)越界異常:java.lang.IndexOutOfBoundsException
6、文件已結(jié)束異常:EOFException
7、文件未找到異常:FileNotFoundException
8、字符串胡備指轉(zhuǎn)換為數(shù)字異常:NumberFormatException
9、指定的類不存在: java.lang.ClassNotFoundException
10、實(shí)例化異常:java.lang.InstantiationException
Java中數(shù)據(jù)類型轉(zhuǎn)換異常如何理解?
數(shù)據(jù)類型轉(zhuǎn)換異常:java.lang.ClassCastException
當(dāng)試圖將對(duì)某個(gè)對(duì)象強(qiáng)制執(zhí)行向下轉(zhuǎn)型,但該對(duì)象又不可轉(zhuǎn)換又不可轉(zhuǎn)換為其子類的實(shí)例時(shí)將引發(fā)該異常,如下列代碼。
Object obj = new Integer(0);
String str = obj;
Java中空指針異常類是什么意思?
空指針異常類:NullPointerException
調(diào)用了未經(jīng)初始化的對(duì)象或者是不存在的對(duì)象。經(jīng)常出現(xiàn)在創(chuàng)建圖片,調(diào)用數(shù)組這些操作中,比滾冊(cè)如圖片未經(jīng)初始化,或者圖片創(chuàng)建時(shí)的路徑錯(cuò)誤等等。對(duì)數(shù)組操作中出現(xiàn)空指針,
即把數(shù)組的初始化和數(shù)組元素的初始化混淆起來(lái)了。
數(shù)組的初始褲配化是對(duì)數(shù)組分配需要的空間,而初始化后的數(shù)組,其中的元素并沒(méi)有實(shí)例化, 依然是空的,所以還需要對(duì)每個(gè)元素都進(jìn)行初始化(如果要調(diào)用的話)。
Java常見(jiàn)異常有很多,以上這10種希望大家能夠提前了解,這樣能夠幫助大家在實(shí)際編寫(xiě)代碼過(guò)程中,更快的進(jìn)行一場(chǎng)處理,加油!
Java中的異常處理機(jī)制已經(jīng)比較成熟,我們的Java程序到處充滿了異常的可能,如果對(duì)這些異常不做預(yù)先的處理,那么將來(lái)程序崩潰就無(wú)從調(diào)試,很難找到異常所在的位置?;佚堄^電腦培訓(xùn)將探討一下Java中異常與錯(cuò)誤的處理方法,一起來(lái)看看。
異常與錯(cuò)誤:
異常:
在Java中程序的錯(cuò)誤主要是語(yǔ)法錯(cuò)誤和語(yǔ)義錯(cuò)誤,一個(gè)程序在編譯和運(yùn)行時(shí)出現(xiàn)的錯(cuò)誤我們統(tǒng)一稱之為異常,它是VM(虛擬機(jī))通知你的一種方式,通過(guò)這種方式,VM讓你知道,你(開(kāi)發(fā)人員)已經(jīng)犯了個(gè)錯(cuò)誤,現(xiàn)在有一個(gè)機(jī)會(huì)來(lái)修改它。Java中使用異常類來(lái)表示異常,不同的異常類代表了不同的異常。但是在Java中所有的異常都有一個(gè)基類,叫做Exception。
錯(cuò)誤:
它指的是一個(gè)合理的應(yīng)用程序不能截獲的嚴(yán)重的問(wèn)題。大多數(shù)都是反常的情況。錯(cuò)誤是VM的一個(gè)故障(雖然它可以是任何系統(tǒng)級(jí)的服務(wù))。所以,錯(cuò)誤是很難處理的,一般的開(kāi)發(fā)人員(當(dāng)然不是你)是無(wú)法處理這些錯(cuò)誤的,比如內(nèi)存溢出。和異常一樣,在Java中用錯(cuò)誤類來(lái)表示錯(cuò)誤,不同吵螞的錯(cuò)誤類代表了不同的錯(cuò)誤。但是雹慶在Java中所有的錯(cuò)誤都有一個(gè)基類,叫做Error。
綜上,我們可以知道異常和錯(cuò)誤最本質(zhì)的區(qū)別就是異常能被開(kāi)發(fā)人員處理而錯(cuò)誤時(shí)系統(tǒng)本來(lái)自帶的,一般無(wú)法處理也不需要我們程序員來(lái)處理。
1.一個(gè)異常是在一個(gè)程序執(zhí)行過(guò)程中出現(xiàn)的一個(gè)事件,它中斷了正常指令的運(yùn)行
2.錯(cuò)誤,偏離了可接受的代碼行為的一個(gè)動(dòng)作或?qū)嵗?/p>
異常的結(jié)構(gòu)分類:
1、運(yùn)行時(shí)異常(未檢查異常)
2、編譯時(shí)異常(已檢查異常)
運(yùn)行異常即是RuntimeException;其余的全部為編譯異常
在Java中異常Exception和錯(cuò)誤Error有個(gè)共同的父類Throwable。
ErrorException
runtimeException幾個(gè)子類
1、java.lang.ArrayIndexOutOfBoundsException
數(shù)組索引越界異常。當(dāng)對(duì)數(shù)組的源碰握索引值為負(fù)數(shù)或大于等于數(shù)組大小時(shí)拋出。
2、java.lang.ArithmeticException
算術(shù)條件異常。譬如:整數(shù)除零等。
3、java.lang.NullPointerException
空指針異常。當(dāng)應(yīng)用試圖在要求使用對(duì)象的地方使用了null時(shí),拋出該異常。譬如:調(diào)用null對(duì)象的實(shí)例方法、訪問(wèn)null對(duì)象的
屬性、計(jì)算null對(duì)象的長(zhǎng)度、使用throw語(yǔ)句拋出null等等
4、java.lang.ClassNotFoundException
找不到類異常。當(dāng)應(yīng)用試圖根據(jù)字符串形式的類名構(gòu)造類,而在遍歷CLASSPAH之后找不到對(duì)應(yīng)名稱的class文件時(shí),拋出
該異常。