异常的总结
异常的总结
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
java.lang.AssertionError
断言错。用来指示一个断言失败的情况。
java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.
java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。
java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
java.lang.UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
java.lang.ArrayStoreException数组存储异常。当向数组中存放非数组声明类型对象时抛出。
java.lang.ClassCastException
类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
java.lang.EnumConstantNotPresentException
枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
java.lang.Exception
根异常。用以描述应用程序希望捕获的情况。
java.lang.IllegalAccessException
违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
java.lang.IllegalMonitorStateException
违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。
java.lang.IllegalStateException
违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。
java.lang.IllegalThreadStateException
违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。java.lang.IndexOutOfBoundsException
索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.InstantiationException
实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
java.lang.InterruptedException
被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。
java.lang.NegativeArraySizeException
数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。
java.lang.NoSuchFieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
java.lang.NoSuchMethodException
方法不存在异常。当访问某个类的不存在的方法时抛出该异常。
java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
java.lang.NumberFormatException
数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
java.lang.RuntimeException
运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。
java.lang.SecurityException
安全异常。由安全管理器抛出,用于指示违反安全情况的异常。java.lang.StringIndexOutOfBoundsException
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.TypeNotPresentException
类型不存在异常。当应用试图以某个类型名称的字符串表达方式访问该类型,但是根据给定的名称又找不到该类型是抛出该异常。该异常与ClassNotFoundException的区别在于该异常是unchecked(不被检查)异常,而ClassNotFoundException是checked(被检查)异常。
java.lang.UnsupportedOperationException
不支持的方法异常。指明请求的方法不被支持情况的异常。异常
javax.servlet.jsp.JspException:Cannotretrievemappingforaction/Login(/Login是你的action名字)
可能原因
action没有再struts-config.xml中定义,或没有找到匹配的action,例如在JSP文件中使用
扩展阅读:异常总结1
NumberFormatException:
Jar包冲突重定向乱码
tomcat异常Parameters:Invalidchunkignored.
悬赏分:100|解决时间:201*-5-1811:44|提问者:神终一招
有谁处理过此问题,问下此警告会导致线程挂掉吗?项目中有几千个链接。求助,只要你有看法都谈谈。问题补充:
我有几千个页面痛苦那这问题不能定位到我具体哪个页面错误吧。还有就是我线程一段时间(1个月左右)后老是挂掉。tomcat日志没异常就只有这警告。。。各位大侠有没啥见解
最佳答案
不会,检查你的页面提交请求的url。很可能存在无效的参数。举个例子:url?&key=value
这里的&就代表一个无效的参数。正确的应该是url?key1=value1&key2=value2或者url?key=value。
这个警告应该不会引起线程挂掉的,很可能是tomcat或你的应用本身有性能瓶颈。服务器会过滤这种无效参数,要找这个警告的源头是不容易,但也不是没办法。你需要写一个url有效性的检查的方法,然后写一个过滤器,把这个过滤器配置为对有所url进行过滤,然后发现有问题的url就打印或写入日志。
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
动态代理异常
java连接oracle时出现了异常,io异常:thenetworkadaptercouldnotestablishtheconnection;求大侠
悬赏分:10|解决时间:201*-11-1113:58|提问者:yushan125
在网上搜了很多资料,有说监听器没开启的,有说防火强问题的,本人现在正好借了本oracle的书自学,这本书上都没提监听器这个词,我都不知道什么意思,还请各位前辈指教,监听器干什么用的?如何创建监听器,如何启动,如何关闭,还是系统本身就自带了监听器;操作系统是windowsXP;
我连接数据库的url是:jdbc:oracle:thin:@localhost:1521:ORCL;我还是对oracle不太了解,它和sqlserver用库管理表的结构好像不太一样,这个rocl是系统默认的数据库么?驱动driver是:oracle.jdbc.driver.OracleDriver;这个应该没问题问题补充:
这个异常已经解决了,可是出现了新的错误,
这个错误应该是说我的数据库不对吧,可是我用selectinstance_namefromv$instance命令查了,的确是orcl,还有应为之前一直不能启动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,进去后把这两个服务OracleService...,和Oracle..TNSListener打开,具体名字我记不住了二。点击Run-->输入cmd,在dos里输入sqlplus,接下来会提示你输入用户名和密码,你输入你所要连的那个数据库的用户名和密码,连接成功后,输入selectinstance_namefromv$instance只后显示出的名字你看下是不是ORCL,如果不是,就换成显示的那个(orcl不是系统默认的数据库)你把host改成localhost试试你建的数据库的用户名是什么??索引中丢失in或out参数
异常:
索引中丢失in或out参数:1couldnotloadonentity:[……]
遇到此异常,先检查传入的参数与.hbm.xml或entity的参数类型是否一样。
我的项目中抛出此异常的原因是:我给一个Long型的属性传入了一个String类型的参数,执行delete()方法就出错了,将String转换为Long型,问题解决
java.sql.SQLException:索引中丢失IN或OUT参数::4
这种错误写程序时不会报错,运行时只会出来,不了解的话错误很难发现。下面是出错原因:
getSession().createSQLQuery(sql).setInteger(0,o).setDate(1,o).setFloat(2,o).setInteger(2,o);
在设置sql中参数的位置下标重复。
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进行开发应用时,需要配置的类中的属性是静态的,如果是通过IDE自动生成属性的setter和getter方法时,对应的方法也是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.+"对应的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关键字去掉就可以。
瞬时对象异常:因为提交事务的事务hibernate会清理缓存,引用了一个transient对象解决办法:把瞬时对象变成持久化对象
org.hibernate.exception.SQLGrammarException:CouldnotexecuteJDBCbatchupdatesql语法错误,解决点:检查配置文件中字段与数据库表中的字段有没有区别(查找能生成sql语句的地方)
cvc-complex-type.2.3:Element"beans"cannothavecharacter[children]type"scontenttypeiselement
错误原因:编写配置文件是注释是在中文状态下。
Repeatedcolumninmappingforentity:com.bjpowernode.drp.domain.Itemcolumn:code(shouldbemappedwithinsert="false"update="false")
Hibernate配置问价总列名重复
表T_student:
中文名称:学生信息表表结构描述:
字段(英文)中文名称Id学生标示NamesexaddRess
姓名性别地址主键是否否否外键是否否否允许为空数据类型
友情提示:本文中关于《异常的总结》给出的范例仅供您参考拓展思维使用,异常的总结:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。