为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

java异常类及其原因

2018-02-23 15页 doc 43KB 13阅读

用户头像

is_650122

暂无简介

举报
java异常类及其原因java异常类及其原因 JAVA异常类及其原因 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFException 文件未找到异常:FileNotFoundException 字...
java异常类及其原因
java异常类及其原因 JAVA异常类及其原因 算术异常类: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: Cannot retrieve mapping for action /Login (/Login是你的action名字) 可能原因 action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用 标签)。 在struts-config.xml中通过action标签的class属性指定的action类不能被 找到有很多种原因,例如:定位编译后的.class文件失败。Failure to place compiled .class file for the action in the classpath (在web开发中,class 的的位置在r WEB-INF/classes,所以你的action class必须要在这个目录下。 例如你的action类位于WEB-INF/classes/action/Login.class,那么在 struts-config.xml中设置action的属性type时就是action.Login). 拼写错 误,这个也时有发生,并且不易找到,特别注意第一个字母的大小写和包的名称。 --------------------------------------------------------------------- 异常 javax.servlet.jsp.JspException: No getter method for property username of bean org.apache.struts.taglib.html.BEAN 可能原因 没有位form bean中的某个变量定义getter 方法 这个错误主要发生在表单提交的FormBean中,用struts标记时,在FormBean中必须有一个getUsername()方法。 注意字母“U”。 --------------------------------------------------------------------- 异常 java.lang.NoClassDefFoundError: org/apache/struts/action/ActionForm 可能原因 这个错误主要发生在在classpath中找不到相应的Java .class文件。 如果这个错误发生在web应用程序的运行时,主要是因为指定的class文件不在 web server的classpath中(/WEB-INF/classes 和 /WEB-INF/lib)。在上面 的错误中,原因是找不到ActionForm类。 --------------------------------------------------------------------- 异常 javax.servlet.jsp.JspException: Exception creating bean of class org.apache.struts.action.ActionForm: {1} 可能原因 Instantiating Struts-provided ActionForm class directly instead of instantiating a class derived off ActionForm. This mightoccur implicitly if you specify that a form-bean is this Struts ActionForm class rather than specifying a child of this classfor the form-bean. Not associating an ActionForm-descended class with an action can also lead to this error. --------------------------------------------------------------------- 异常 javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection 可能原因 不是标识Struts actionServlet的标记就是映射.do扩展 名的标记或者两者都没有在web.xml中声明。 在struts-config.xml中的打字或者拼写错误也可导致这个异常的发生。例如缺 少一个标记的关闭符号/>。最好使用struts console工具检查一下。 另外,load-on-startup必须在web.xml中声明,这要么是一个空标记,要么指 定一个数值,这个数值用来表servlet运行的优先级,数值越大优先级越低。 还有一个和使用load-on-startup有关的是使用Struts预编译JSP文件时也可 能导致这个异常。 --------------------------------------------------------------------- 异常 java.lang.NullPointerException at org.apache.struts.util.RequestUtils.forwardURL(RequestUtils.java:1223) 可能原因 在struts-config.xml中的forward元素缺少path属性。例如应该是 如下形式: --------------------------------------------------------------------- 异常 javax.servlet.jsp.JspException: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope Probable Causes 试图在Struts的form标记外使用form的子元素。这常常发 生在你在后面使用Struts的html标记。另外要注意可能你不经意 使用的无主体的标记,如,这样web 服务器解析时就当作一 个无主体的标记,随后使用的所有标记都被认为是在这个标记之外的,如 又使用了还有就是在使用taglib引入HTML标记 库时,你使用的prefix的值不是html。 --------------------------------------------------------------------- 异常 javax.servlet.jsp.JspException: Missing message for key xx.xx.xx Probable Causes 这个key的值对没有在资源文件 ApplicationResources.properties中定义。如果你使用eclipse时经常碰到这 样的情况,当项目重新编译时,eclipse会自动将classes目录下的资源文件删 除。 资源文件ApplicationResources.properties 不在classpath中应将资源文件 放到 WEB-INF/classes 目录下,当然要在struts-config.xml中定义) --------------------------------------------------------------------- 异常 Cannot find message resources under key org.apache.struts.action.MESSAGE 可能原因 很显然,这个错误是发生在使用资源文件时,而Struts没有找到资源 文件。 Implicitly trying to use message resources that are not available (such as using empty htmlptions tag instead of specifyingthe options in its body -- this assumes options are specified in ApplicationResources.properties file) XML parser issues -- too many, too few, incorrect/incompatible versions --------------------------------------------------------------------- 异常 Strange and seemingly random characters in HTML and on screen, but not in original JSP or servlet. 可能原因 混和使用Struts的html:form标记和的HTML标记不正确。 使用的编码样式在本页中不支持。 --------------------------------------------------------------------- 异常 "Document contained no data" in Netscape No data rendered (completely empty) page in Microsoft Internet Explorer 可能原因 使用一个Action的派生类而没有实现perform()方法或execute()方 法。在Struts1.0中实现的是perform()方法,在Struts1.1中实现的是execute() 方法,但Struts1.1向后兼容perform()方法。但你使用Struts1.1创建一个 Action的派生类,并且实现了execute()方法,而你在Struts1.0中运行的话, 就会得到"Document contained nodata" error message in Netscape or a completely empty (no HTML whatsoever) page rendered in Microsoft Internet Explorer.”的错误信息。 --------------------------------------------------------------------- 异常 ServletException: BeanUtils.populate 解决 在用Struts上传文件 时,遇到了javax.servlet.ServletException: BeanUtils.populate异常。 我 的ActionServlet并没有用到BeanUtils这些工具类。后来仔细检查代码发现是 在jsp文件里的form忘了加enctype="multipart/form-data" 了。所以写程序 遇到错误或异常应该从多方面考虑问题存在的可能性,想到系统提示信息以外的 东西。 --------------------------------------------------------------------- 1. 定义Action后, 如果指定了name, 那么必须要定义一个与它同名的 FormBean才能进行form映射. 2. 如果定义Action后, 提交页面时出现 "No input attribute for mapping path..." 错误, 则需要在其input属性中定义转向的页面. 3. 如果插入新的数据时出现 "Batch update row count wrong:..." 错误, 则 说明XXX.hbm.xml中指定的key的类型为原始类型(int, long),因为这种类型会 自动分配值, 而这个值往往会让系统认为已经存在该, 正确的方法是使用 java.lang.Integer或java.lang.Long对象. 4. 如果插入数据时出现 "argument type mismatch" 错误, 可能是你使用了 Date等特殊对象, 因为struts不能自动从String型转换成Date型,所以, 你 需要在Action中手动把String型转换成Date型. 5. Hibernate中, Query的iterator()比list()方法快很多. 6. 如果出现 "equal symbol expected" 错误, 说明你的strtus标签中包含另 一个标签或者变量, 例如: 或者 "/> 这样的情况... --------------------------------------------------------------------- 错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update原因与解决: 因为Hibernate Tools(或者Eclipse本身的 Database Explorer)生成*.hbn.xml工具中包含有catalog="***"(*表示数据 库名称)这样的属性,将该属性删除就可以了 --------------------------------------------------------------------- ------------------------------------------------------ 错误: org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations) 原因与解决: 方法 1 删除Set方的cascade 方法2 解决关联关系后,再删除 方法3 在 many-to-one方增加cascade 但值不能是none 最后一招: 检查一下hashCode equals是否使用了id作为唯一标示的选项了;我用uuid.hex时是没有问题的; 但是用了native,就不行了,怎么办,删除啊~ --------------------------------------------------------------------- 问题:今天用Tomcat 5.5.12,发现原来很好用的系统不能用了,反复测试发现 页面中不能包含 taglib,否则会出现以下提示:HTTP Status 500 -type Exception reportMessage description The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: /index.jsp(1,1) Unable to read TLD "META-INF/tlds/struts-bean.tld" from JAR file"file:*****/WEB-INF/lib/struts.jar": 原因:更新了工程用的lib文件夹下的jar,发布时也发布了servlet.jar和 jsp-api.jar。解决:把jsp-api.jar删除就解决这个问题了。 ---------------------------------------------------------------------
/
本文档为【java异常类及其原因】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索