《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(或者ECIiPSe