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