《java异常总结.docx》由会员分享,可在线阅读,更多相关《java异常总结.docx(12页珍藏版)》请在课桌文档上搜索。
1、当向数组中存放I卜:数组声明类型对象时抛出。java.Iang-ClassCastException类造型异样。假设有类A和B(A不是B的父类或子类),0是A的实例,那么当强制将0构造为类B的实例时抛出该异样。该异样常常被称为强制类型转换异样。java.lang.ClassNotFoundException找不到类异样。当应用试图依据字符串形式的类名构造类,而在遍历C1.SSPH之后找不到对应名称的class文件时,抛出该异样。java.lang.CloneNotsupportedException不支持克隆异样。当没有实现Cloneable接口或者不支持克隆方法时,调用其ClOne()方法则
2、抛出该异样。java.lang.EnumconstantNotPresentException枚举常量不存在异样。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异样。java.lang.Exception根异样O用以描述应用程序希望捕获的状况。java.lang.IllcgalAccessException违法的访问异样。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时乂无法访问类的、属性的、方法的或构造方法的定义时抛出该异样。异样。当运用负数大小值创建数组时抛出该异样。java.lang.NoSuchField11xception属
3、性不存在异样。当访问某个类的不存在的属性时抛出该异样。java,ang.NoSuchMethodException方法不存在异样O当访问某个类的不存在的方法时抛出该异样。java.lang.NullPointerException空指针异样。当应用试图在要求运用对象的地方运用了null时,抛出该异样。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、运用thr。W语句抛出null等等。java,ang.NuniberFormatException数字格式异样。当试图将一个String转换为指定的数字类型,而该字符串确不满意数字类型要求的格式时,抛出该异样。jav
4、a.lang.RuntimeException运行时异样。是全部Java虚拟机正常操作期间可以被抛出的异样的父类。java.lang.SecurityException平安异样。由平安管理器抛出,用于指示违反平安状况的异样。java.lang.StringlndexOutOfBoundsException字符串索引越界异样。当运用索引值访问某个字符串中的字符,而该索引值小于0或异样java.lang.NociassDeiToundError:orgapachestruts/actionctionForm可能缘由这个错误主要发生在在classpath中找不到相应的Java.class文件。假如这
5、个错误发生在Web应用程序的运行时,主要是因为指定的CIaSS文件不在webserver的CIaSSPath中(/WEB-INFZclasses和WEB-INF1ib)三在上面的错误中,缘由是找不到ActionForm类。javax.servlet,jsp.JspException:Exceptioncreatingbeanofclassorg.apache,struts,action.ctionForm:1可能缘由InstantiatingStrUtS-ProVidedActionFormclassdirectlyinsteadofinstantiatingaclassderivedoffA
6、ctionForm.Thismightoccurimpicitlyifyouspecifythataform-beanisthisStrutsActionFormclassratherthanspecifyingachildofthisclassfortheform-bean.NotassociatinganActionForm-descendedclasswithanactioncanalsoleadtothiserror.异样javax.servlet,jsp.JspException:CannotfindActionMappingsorActionFormBcanscollection可
7、能缘由不是标识StrutsactiOnServlet的servlet标记就是映射.do扩展名的SeVIet-mapping标记或者两者都没有在WCb.xml中声明。在Struts-Config.xml中的打字或者拼法错误也可导致这个异样的发生。例如缺少一个标记的关闭符号/0最好运用strutsconsole工具检查一下。另外,load-on-startup必需在web.xml中声明,这要么是一个空标记,要么指定一个数值,这个数值用来表servlet运行的优先级,数值越大优先级越低。还有一个和运用Ioad-On-SIartUP有关的是运用Struts预编译JSp文件时也可能导致这个异样。异样ja
8、va.lang.NullPointerExceptionatorg.apache.struts.util.RequestUtiIs.forwardURI.(RequestUtiIs.java:1223)可能缘由在strutsconfig.xml中的forward元素缺少path属性。例如应当是如下形式:forwardname=userhomcpath=useruserhomc.jsp-异样javax.servlet,jsp.JspException:Cannotfindbeanorg.apache,struts,taglib.html.BEANinanyscopeProbableCauses试
9、图在Struts的form标记外运用form的子元素。这常常发生在你在html:form后面运用StrUtS的html标记。另外要留意可能你不经意运用的无主体的标记,如html:form/,这样Web服务器解析时就当作一个无主体的标记,随后运用的全部html标记都被认为是在这个标记之外的,如乂运用了html:textPrOPerty=id还有就是在运用taglib引入HTM1.标记库时,你运用的prefix的值不是html0JvTTjavax.servlet,jsp.JspExccption:Missingmessageforkeyxx.xx.xxProbableCauses这个key的值对没
10、有在资源文件ApplicationRcsources.properties中定义O假如你运用eclipse时常常遇到这样的状况,当项目重新编译时,eclipse会自动将CIaSSeS书目下的资源文件删除。资源文件ppl1.cationResources.properties不在classpath中应将资源文件放到WEBTNF/classes书目下,当然要在struts-config.xml中定义)Il羊Cannotfindmessageresourcesunderkeyorg.apache.struts,action.MESSAGE可能缘由很明显,这个借误是发生在运用资源文件时,而Struts
11、没有找到资源文件。Implicitlytryingtousemessageresourcesthatarenotavailable(suchasusingemptyhtml:optionstaginsteadofSpecifyingtheoptionsinitsbody-thisassumesoptionsarespecifiedinApplicationResources.propertiesfile)XM1.parserissues-toomany,toofew,incorrect/incompatib1eversionsE1.土兴,三Strangeandseeminglyrandomch
12、aractersinHTM1.andonscreen,butnotinoriginalJSPorservlet.可能缘由混和运用Struts的html:form标记和标准的HTM1.标记不正确。运用的编码样式在本页中不支持。一-异样DocumentcontainednodatainNetscapeNodatarendered(completelyempty)pageinMicrosoftInternetExplorer可能缘由运用一个Action的派生类而没有实现PCrrormo方法或execute。方法。在StrUtSl.。中实现的是PerfOrm()方法,在Strutsl.1实现的是exe
13、cute。方法,但Strutsl.1向后兼容PerfOrm()方法。但你运用Strutsl.1创建一个Action的派生类,并且实现Texecute。方法,而你在Strutsl.0中运行的话,就会得到DocumentcontainednodataerrormessageinNetscapeoracompletelyempty(noHTM1.,whatsoever)pagerenderedinMicrosoftInternetEXPIOrer.的错误信息。异样ServletException:BeanUtils.populate解决方案在用Struts上传文件时,遇到了javax.servlet
14、.ServletException:BeanUtils.populate异样。我的ActionServlet并没有用到BcanUtils这些工具类。后来细致检查代码发觉是在jsp文件里的form忘了加enctypc=multipart/form-data了。所以写程序遇到错误或异样应当从多方面考虑问题存在的可能性,想到系统提示信息以外的东西。1.定义Action后,假如指定了name,那么必须要定义一个与它同名的FormBean才能进行form映射.2.假如定义Action后,提交页面时出现Noinputattributeformappingpath.错误,则须要在其input属性中定义转向的
15、页面.3.假如插入新的数据时出现Batchupdaterowcountwrong:.错误,则说明XXX.hbm.xml中指定的key的类型为原始类型(int,long),因为这种类型会自动安排值,而这个值往往会让系统认为已经存在该记录,正确的方法是运用java.lang.Integer或java.lang.1.ong对象.4.假如插入数据时出现argumenttypemismatch错误,可能是你运用了Date等特殊对象,因为struts不能H动从String型转换成Date型,所以,你须要在Action中手动把String型转换成Date型.5.Hibernate中,Query的iterat
16、or。比IistO方法快许多.6.假如出现equalsymbolexpected错误,说明你的Strlus标签中包含另一个标签或者变量,例如:html:selectproperty=testonehange=%=test%/或者html:hiddenproperty=testvalue=bean:writename=tproperty=p/这样的状错误:Exceptioninthreadmainorg.hibernate,exception.SQ1.GranunarException:CouldnotexecuteJDBCbatchupdate缘由与解决:因为HibernateTools(或者
17、ECIiPSe本身的DatabaseExplorer)生成*.hbn.xml工具中包含有CataIog=*(*表示数据库名称)这样的属性,将该属性删除就可以了错误:org.hibernate.ObjectDeletedException:deletedobjectwou1dbere-savedbycascade(removedeletedobjectfromassociations)缘由与解决:方法1删除Set方的CaSCadC方法2解决关联关系后,再删除方法3在many-toone方增加cascade但值不能是none最终一招:检查一下hashCodeequals是否运用了id作为唯一标示的
18、选项了;我用uuid.hex时是没有问题的;但是用了native,就不行了,怎么办?删除啊!问题:今口用Tomcat5.5.12,发觉原来很好用的系统不能用了,反及测试发觉页面中不能包含taglib,否则会出现以下提示:HTTPStatus500-typeExceptionreportMessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest,exceptionorg.apache,jasper.JasperException:/index,jsp(l,1)Una
19、bletoreadT1.DMETA-INFtldsstruts-bean.tldfromJRfilefile:*/WEBTNF/1ib/struts.jar:缘由:更新了工程用的Iib文件夹下的jar,发布时也发布了servlet,jar和jsp-api.jar解决:把jsp-api.jar删除就解决这个问题了。错误:java.lang.NullPointerException缘由:发觉dao实例、manage实例等须要注入的东西没有被注入(俗称空指针异样)解诀:这个时候,你应当查看口志文件:默认是应用服务器的Iog文件,比如Tomcat就是Tomcat安装目录logs;你会发现提示你:可能是
20、:org.springframework,beans,factory.BeanCreationException:ErrorcreatingbeanwithnamesfdefinedinServletcontextresource/WEB-INFZapplicationContext.xml:Initializationofbeanfailed;nestedexceptionisorg.hibernate.HibernateException:couldnotconfigurefromUR1.:file:src/hibernate.cfg.xmlorg.hibernate.HibernateE
21、xception:couldnotconfigurefromUR1.:file:src/hibernate.cfg.xml.Causedby:java.io.FileNotFoundException:srchibernate.cfg.xml可能是:org.springframework,beans,factory.BeanCreationException:ErrorcreatingbeanwithnameSessionFactorydefinedinServletContextresource/WEB-INFZapplicationContext.xml:Initializationofb
22、eanfailed;nestedexceptionisorg.hibernate.MappingException:Resource:com/mcccoupon/mode1/UserRole.hbm.xmlnotfoundorg.hibernate.MappingException:Resource:com/mcc/coupon/modcl/UserRole.hbm.xmlnotfound然后你就知道缘由是因为配置文件的解析出了错误,这个通过Web页面是看不出来的。更多的是长久化影射文件出的错误;导致了没有被解析:当然你须要的功能就无法运用了。错误:StandardWrapperValveac
23、tion:Servlet.serviceOforservletactionthrewexceptionjavax.servlet,jsp.JspException:CannotretrievemappingforactionZsettlementTypeManage或者:typeStatusreportmessageServletactionisnotavailabledescriptionTherequestedresource(Servletactionisnotavailable)isnotavailable.缘由:同上f11StandardwrapperValveEjsp:Servle
24、t,service()forservletjspthrewexceptionjava.lang.ClassNotFoundExccption:org.apache,struts,tag!ib.bean.CookieTei界面错误详细描述:org.apache,jasper.JasperExccption:Failedtoloadororg.apache.struts,taglib.bean.CookieTei缘由与解决:instantiateTagExtraInfoclass:方案一你的html:开头的标签没有放在一个html:form中方案二重新启动你的应用服务器,自动就没有这个问题17评论(1)