異常的總結(jié)
異常的總結(jié)
算術(shù)異常類:ArithmeticExecption
空指針異常類:NullPointerException
類型強制轉(zhuǎn)換異常:ClassCastException
數(shù)組負下標異常:NegativeArrayException
數(shù)組下標越界異常:ArrayIndexOutOfBoundsException
違背安全原則異常:SecturityException
文件已結(jié)束異常:EOFException
文件未找到異常:FileNotFoundException
字符串轉(zhuǎn)換為數(shù)字異常:NumberFormatException
操作數(shù)據(jù)庫異常:SQLException
輸入輸出異常:IOException
方法未找到異常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法錯誤。當應(yīng)用試圖調(diào)用抽象方法時拋出。
java.lang.AssertionError
斷言錯。用來指示一個斷言失敗的情況。
java.lang.ClassCircularityError
類循環(huán)依賴錯誤。在初始化一個類時,若檢測到類之間循環(huán)依賴則拋出該異常。
java.lang.ClassFormatError
類格式錯誤。當Java虛擬機試圖從一個文件中讀取Java類,而檢測到該文件的內(nèi)容不符合類的有效格式時拋出。
java.lang.Error
錯誤。是所有錯誤的基類,用于標識嚴重的程序運行問題。這些問題通常描述一些不應(yīng)被應(yīng)用程序捕獲的反常情況。
java.lang.ExceptionInInitializerError
初始化程序錯誤。當執(zhí)行一個類的靜態(tài)初始化程序的過程中,發(fā)生了異常時拋出。靜態(tài)初始化程序是指直接包含于類中的static語句段。
java.lang.IllegalAccessError
違法訪問錯誤。當一個應(yīng)用試圖訪問、修改某個類的域(Field)或者調(diào)用其方法,但是又違反域或方法的可見性聲明,則拋出該異常。
java.lang.IncompatibleClassChangeError
不兼容的類變化錯誤。當正在執(zhí)行的方法所依賴的類定義發(fā)生了不兼容的改變時,拋出該異常。一般在修改了應(yīng)用中的某些類的聲明定義而沒有對整個應(yīng)用重新編譯而直接運行的情況下,容易引發(fā)該錯誤。
java.lang.InstantiationError
實例化錯誤。當一個應(yīng)用試圖通過Java的new操作符構(gòu)造一個抽象類或者接口時拋出該異常.
java.lang.InternalError
內(nèi)部錯誤。用于指示Java虛擬機發(fā)生了內(nèi)部錯誤。
java.lang.LinkageError
鏈接錯誤。該錯誤及其所有子類指示某個類依賴于另外一些類,在該類編譯之后,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發(fā)錯誤的情況。
java.lang.NoClassDefFoundError
未找到類定義錯誤。當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。
java.lang.NoSuchFieldError
域不存在錯誤。當應(yīng)用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。
java.lang.NoSuchMethodError
方法不存在錯誤。當應(yīng)用試圖調(diào)用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。java.lang.OutOfMemoryError
內(nèi)存不足錯誤。當可用內(nèi)存不足以讓Java虛擬機分配給一個對象時拋出該錯誤。
java.lang.StackOverflowError
堆棧溢出錯誤。當一個應(yīng)用遞歸調(diào)用的層次太深而導致堆棧溢出時拋出該錯誤。
java.lang.ThreadDeath
線程結(jié)束。當調(diào)用Thread類的stop方法時拋出該錯誤,用于指示線程結(jié)束。
java.lang.UnknownError
未知錯誤。用于指示Java虛擬機發(fā)生了未知嚴重錯誤的情況。
java.lang.UnsatisfiedLinkError
未滿足的鏈接錯誤。當Java虛擬機未找到某個類的聲明為native方法的本機語言定義時拋出。
java.lang.UnsupportedClassVersionError
不支持的類版本錯誤。當Java虛擬機試圖從讀取某個類文件,但是發(fā)現(xiàn)該文件的主、次版本號不被當前Java虛擬機支持的時候,拋出該錯誤。
java.lang.VerifyError
驗證錯誤。當驗證器檢測到某個類文件中存在內(nèi)部不兼容或者安全問題時拋出該錯誤。
java.lang.VirtualMachineError
虛擬機錯誤。用于指示虛擬機被破壞或者繼續(xù)執(zhí)行操作所需的資源不足的情況。
java.lang.ArithmeticException
算術(shù)條件異常。譬如:整數(shù)除零等。
java.lang.ArrayIndexOutOfBoundsException
數(shù)組索引越界異常。當對數(shù)組的索引值為負數(shù)或大于等于數(shù)組大小時拋出。
java.lang.ArrayStoreException數(shù)組存儲異常。當向數(shù)組中存放非數(shù)組聲明類型對象時拋出。
java.lang.ClassCastException
類造型異常。假設(shè)有類A和B(A不是B的父類或子類),O是A的實例,那么當強制將O構(gòu)造為類B的實例時拋出該異常。該異常經(jīng)常被稱為強制類型轉(zhuǎn)換異常。
java.lang.ClassNotFoundException
找不到類異常。當應(yīng)用試圖根據(jù)字符串形式的類名構(gòu)造類,而在遍歷CLASSPAH之后找不到對應(yīng)名稱的class文件時,拋出該異常。
java.lang.CloneNotSupportedException
不支持克隆異常。當沒有實現(xiàn)Cloneable接口或者不支持克隆方法時,調(diào)用其clone()方法則拋出該異常。
java.lang.EnumConstantNotPresentException
枚舉常量不存在異常。當應(yīng)用試圖通過名稱和枚舉類型訪問一個枚舉對象,但該枚舉對象并不包含常量時,拋出該異常。
java.lang.Exception
根異常。用以描述應(yīng)用程序希望捕獲的情況。
java.lang.IllegalAccessException
違法的訪問異常。當應(yīng)用試圖通過反射方式創(chuàng)建某個類的實例、訪問該類屬性、調(diào)用該類方法,而當時又無法訪問類的、屬性的、方法的或構(gòu)造方法的定義時拋出該異常。
java.lang.IllegalMonitorStateException
違法的監(jiān)控狀態(tài)異常。當某個線程試圖等待一個自己并不擁有的對象(O)的監(jiān)控器或者通知其他線程等待該對象(O)的監(jiān)控器時,拋出該異常。
java.lang.IllegalStateException
違法的狀態(tài)異常。當在Java環(huán)境和應(yīng)用尚未處于某個方法的合法調(diào)用狀態(tài),而調(diào)用了該方法時,拋出該異常。
java.lang.IllegalThreadStateException
違法的線程狀態(tài)異常。當縣城尚未處于某個方法的合法調(diào)用狀態(tài),而調(diào)用了該方法時,拋出異常。java.lang.IndexOutOfBoundsException
索引越界異常。當訪問某個序列的索引值小于0或大于等于序列大小時,拋出該異常。
java.lang.InstantiationException
實例化異常。當試圖通過newInstance()方法創(chuàng)建某個類的實例,而該類是一個抽象類或接口時,拋出該異常。
java.lang.InterruptedException
被中止異常。當某個線程處于長時間的等待、休眠或其他暫停狀態(tài),而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。
java.lang.NegativeArraySizeException
數(shù)組大小為負值異常。當使用負數(shù)大小值創(chuàng)建數(shù)組時拋出該異常。
java.lang.NoSuchFieldException
屬性不存在異常。當訪問某個類的不存在的屬性時拋出該異常。
java.lang.NoSuchMethodException
方法不存在異常。當訪問某個類的不存在的方法時拋出該異常。
java.lang.NullPointerException
空指針異常。當應(yīng)用試圖在要求使用對象的地方使用了null時,拋出該異常。譬如:調(diào)用null對象的實例方法、訪問null對象的屬性、計算null對象的長度、使用throw語句拋出null等等。
java.lang.NumberFormatException
數(shù)字格式異常。當試圖將一個String轉(zhuǎn)換為指定的數(shù)字類型,而該字符串確不滿足數(shù)字類型要求的格式時,拋出該異常。
java.lang.RuntimeException
運行時異常。是所有Java虛擬機正常操作期間可以被拋出的異常的父類。
java.lang.SecurityException
安全異常。由安全管理器拋出,用于指示違反安全情況的異常。java.lang.StringIndexOutOfBoundsException
字符串索引越界異常。當使用索引值訪問某個字符串中的字符,而該索引值小于0或大于等于序列大小時,拋出該異常。
java.lang.TypeNotPresentException
類型不存在異常。當應(yīng)用試圖以某個類型名稱的字符串表達方式訪問該類型,但是根據(jù)給定的名稱又找不到該類型是拋出該異常。該異常與ClassNotFoundException的區(qū)別在于該異常是unchecked(不被檢查)異常,而ClassNotFoundException是checked(被檢查)異常。
java.lang.UnsupportedOperationException
不支持的方法異常。指明請求的方法不被支持情況的異常。異常
javax.servlet.jsp.JspException:Cannotretrievemappingforaction/Login(/Login是你的action名字)
可能原因
action沒有再struts-config.xml中定義,或沒有找到匹配的action,例如在JSP文件中使用
擴展閱讀:異?偨Y(jié)1
NumberFormatException:
Jar包沖突重定向亂碼
tomcat異常Parameters:Invalidchunkignored.
懸賞分:100|解決時間:201*-5-1811:44|提問者:神終一招
有誰處理過此問題,問下此警告會導致線程掛掉嗎?項目中有幾千個鏈接。求助,只要你有看法都談?wù)。問題補充:
我有幾千個頁面痛苦那這問題不能定位到我具體哪個頁面錯誤吧。還有就是我線程一段時間(1個月左右)后老是掛掉。tomcat日志沒異常就只有這警告。。。各位大俠有沒啥見解
最佳答案
不會,檢查你的頁面提交請求的url。很可能存在無效的參數(shù)。舉個例子:url?&key=value
這里的&就代表一個無效的參數(shù)。正確的應(yīng)該是url?key1=value1&key2=value2或者url?key=value。
這個警告應(yīng)該不會引起線程掛掉的,很可能是tomcat或你的應(yīng)用本身有性能瓶頸。服務(wù)器會過濾這種無效參數(shù),要找這個警告的源頭是不容易,但也不是沒辦法。你需要寫一個url有效性的檢查的方法,然后寫一個過濾器,把這個過濾器配置為對有所url進行過濾,然后發(fā)現(xiàn)有問題的url就打印或?qū)懭肴罩尽?/p>
java.sql.SQLException:Listenerrefusedtheconnectionwiththefollowingerror:
ORA-12528,TNS:listener:allappropriateinstancesareblockingnewconnections
TheConnectiondescriptorusedbytheclientwas:127.0.0.1:1521:bjpowernode
atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
atoracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)at
oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:414)
atoracle.jdbc.driver.T4CConnection.(T4CConnection.java:165)at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)1)
atatjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
atoracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)atjava.sql.DriverManager.getConnection(UnknownSource)atjava.sql.DriverManager.getConnection(UnknownSource)atcom.wsf.util.DBUtil.getConnection(DBUtil.java:37)
atcom.wsf.bean.ValidateUser.validateUser(ValidateUser.java:27)at
org.apache.jsp.ValidateLogin_jsp._jspService(ValidateLogin_jsp.java:9
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
atorg.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
atatjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
atorg.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
atorg.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
atorg.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
atorg.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
atjava.lang.Thread.run(UnknownSource)java.lang.NullPointerException
動態(tài)代理異常
java連接oracle時出現(xiàn)了異常,io異常:thenetworkadaptercouldnotestablishtheconnection;求大俠
懸賞分:10|解決時間:201*-11-1113:58|提問者:yushan125
在網(wǎng)上搜了很多資料,有說監(jiān)聽器沒開啟的,有說防火強問題的,本人現(xiàn)在正好借了本oracle的書自學,這本書上都沒提監(jiān)聽器這個詞,我都不知道什么意思,還請各位前輩指教,監(jiān)聽器干什么用的?如何創(chuàng)建監(jiān)聽器,如何啟動,如何關(guān)閉,還是系統(tǒng)本身就自帶了監(jiān)聽器;操作系統(tǒng)是windowsXP;
我連接數(shù)據(jù)庫的url是:jdbc:oracle:thin:@localhost:1521:ORCL;我還是對oracle不太了解,它和sqlserver用庫管理表的結(jié)構(gòu)好像不太一樣,這個rocl是系統(tǒng)默認的數(shù)據(jù)庫么?驅(qū)動driver是:oracle.jdbc.driver.OracleDriver;這個應(yīng)該沒問題問題補充:
這個異常已經(jīng)解決了,可是出現(xiàn)了新的錯誤,
這個錯誤應(yīng)該是說我的數(shù)據(jù)庫不對吧,可是我用selectinstance_namefromv$instance命令查了,的確是orcl,還有應(yīng)為之前一直不能啟動listenner,所以修改了文件LISTENER=
(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))),我把host改成了127.0。0.1,不知道可不可以,之前不是這個的)最佳答案你這樣試下吧一。我的電腦右鍵,選擇Management,之后選擇Services,進去后把這兩個服務(wù)OracleService...,和Oracle..TNSListener打開,具體名字我記不住了二。點擊Run-->輸入cmd,在dos里輸入sqlplus,接下來會提示你輸入用戶名和密碼,你輸入你所要連的那個數(shù)據(jù)庫的用戶名和密碼,連接成功后,輸入selectinstance_namefromv$instance只后顯示出的名字你看下是不是ORCL,如果不是,就換成顯示的那個(orcl不是系統(tǒng)默認的數(shù)據(jù)庫)你把host改成localhost試試你建的數(shù)據(jù)庫的用戶名是什么??索引中丟失in或out參數(shù)
異常:
索引中丟失in或out參數(shù):1couldnotloadonentity:[……]
遇到此異常,先檢查傳入的參數(shù)與.hbm.xml或entity的參數(shù)類型是否一樣。
我的項目中拋出此異常的原因是:我給一個Long型的屬性傳入了一個String類型的參數(shù),執(zhí)行delete()方法就出錯了,將String轉(zhuǎn)換為Long型,問題解決
java.sql.SQLException:索引中丟失IN或OUT參數(shù)::4
這種錯誤寫程序時不會報錯,運行時只會出來,不了解的話錯誤很難發(fā)現(xiàn)。下面是出錯原因:
getSession().createSQLQuery(sql).setInteger(0,o).setDate(1,o).setFloat(2,o).setInteger(2,o);
在設(shè)置sql中參數(shù)的位置下標重復。
Classpath找不到
Exceptionexception:null
inthread"main"
org.dom4j.DocumentException:nullNested
atorg.dom4j.io.SAXReader.read(SAXReader.java:484)atorg.dom4j.io.SAXReader.read(SAXReader.java:343)atarr.com.Dom4jTest.main(Dom4jTest.java:16)
Nestedexception:
java.net.MalformedURLException
atjava.net.URL.(UnknownSource)atjava.net.URL.(UnknownSource)atjava.net.URL.(UnknownSource)at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(UnknownSource)
atcom.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(UnknownSource)
atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(UnknownSource)
atcom.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(UnknownSource)
atcom.sun.org.apache.xerces.internal.parsers.XMLParser.parse(UnknownSource)
atcom.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(UnknownSource)
atorg.dom4j.io.SAXReader.read(SAXReader.java:465)atorg.dom4j.io.SAXReader.read(SAXReader.java:343)atarr.com.Dom4jTest.main(Dom4jTest.java:16)
Ibatis
com.ibatis.sqlmap.client.SqlMapException:Thereisnostatementnameduser.insertUserinthisSqlMap.at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:293)at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:429)at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)at
com.drp.implementsdao.ImplementsUserDao.addUse
r(ImplementsUserDao.java:41)
解決辦法
Ibatis的配置文件有問題
org.springframework.beans.factory.BeanDefinitionStoreException:
spring框架問題
org.springframework.beans.NotWritablePropertyException:
錯誤原因:spring配置中property元素中name屬性和實體類中的屬性名不相同
在使用Sping進行開發(fā)應(yīng)用時,需要配置的類中的屬性是靜態(tài)的,如果是通過IDE自動生成屬性的setter和getter方法時,對應(yīng)的方法也是static,那么通過property以來注入,就會報錯:
Java代碼
1.org.springframework.beans.NotWritablePropertyException
比如:
Java代碼
1.publicclassIedHttpClientFactory{2.
3.//Map
4.privatestaticMapclientMap;5.
6.publicstaticMapgetClientMap(){7.returnclientMap;8.}9.
10.publicstaticvoidsetClientMap(MapclientMap){11.IedHttpClientFactory.clientMap=clientMap;12.}
13.
14.publicstaticIedHttpClientgetIedHttpClient(StringintfName){15.IedHttpClientclient=clientMap.get(intfName);16.if(client==null){
17.thrownewIedException("spring-ied.xml中未配置"+intfName18.+"對應(yīng)的IedHttpClient");19.}
20.returnclient;21.}22.
23.publicstaticvoiddestroy(){
24.for(Map.Entryentry:clientMap.entrySet()){25.entry.getValue().destroy();26.}
27.clientMap.clear();28.}
29.publicIedHttpClientFactory(){30.31.}32.}
以上情景的錯誤,只需要把setter和getter方法聲明中的static關(guān)鍵字去掉就可以。
瞬時對象異常:因為提交事務(wù)的事務(wù)hibernate會清理緩存,引用了一個transient對象解決辦法:把瞬時對象變成持久化對象
org.hibernate.exception.SQLGrammarException:CouldnotexecuteJDBCbatchupdatesql語法錯誤,解決點:檢查配置文件中字段與數(shù)據(jù)庫表中的字段有沒有區(qū)別(查找能生成sql語句的地方)
cvc-complex-type.2.3:Element"beans"cannothavecharacter[children]type"scontenttypeiselement
錯誤原因:編寫配置文件是注釋是在中文狀態(tài)下。
Repeatedcolumninmappingforentity:com.bjpowernode.drp.domain.Itemcolumn:code(shouldbemappedwithinsert="false"update="false")
Hibernate配置問價總列名重復
表T_student:
中文名稱:學生信息表表結(jié)構(gòu)描述:
字段(英文)中文名稱Id學生標示NamesexaddRess
姓名性別地址主鍵是否否否外鍵是否否否允許為空數(shù)據(jù)類型
友情提示:本文中關(guān)于《異常的總結(jié)》給出的范例僅供您參考拓展思維使用,異常的總結(jié):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。