精华内容
下载资源
问答
  • 常见runtimeException

    2011-03-05 20:17:54
    NullPointerException   NumberFormatException   ArrayIndexOutOfBoundsException   UnsupportedOperationException   ArithmeticException   IllegalArgumentException ...Ille...

    NullPointerException

     

    NumberFormatException

     

    ArrayIndexOutOfBoundsException

     

    UnsupportedOperationException

     

    ArithmeticException

     

    IllegalArgumentException

     

    ClassCastException

     

    IllegalStateException

     

    StackOverflowError

     

    NoClassDefFoundError

     

    OutOfMemoryError

    展开全文
  • Java中常见RuntimeException与其他异常表及Exception逻辑关系详解前言常见`RuntimeException`其他错误类型`Error`类`Exception`类Error和Exception区分ErrorExceptionRunTimeException和其他Exception区分其他...

    前言

    总结一下Java开发中常见的几种RuntimeException异常和其他异常表,方便以后对应排查。

    常见RuntimeException

    错误类型 类型解释
    NullPointerException 空指针引用异常
    ClassCastException 类型强制转换异常
    IllegalArgumentException 传递非法参数异常
    ArithmeticException 算术运算异常
    ArrayStoreException 向数组中存放与声明类型不兼容对象异常
    IndexOutOfBoundsException 下标越界异常
    NegativeArraySizeException 创建一个大小为负数的数组错误异常
    NumberFormatException 数字格式异常
    SecurityException 安全异常
    UnsupportedOperationException 不支持的操作异常

    其他错误类型

    Error

    错误类型 类型解释
    java.lang.Error 错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况
    java.lang.AbstractMethodError 抽象方法错误。当应用试图调用抽象方法时抛出
    java.lang.AssertionError 断言错。用来指示一个断言失败的情况
    java.lang.ClassCircularityError 类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常
    java.lang.ClassFormatError 类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出
    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 虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况

    Exception

    错误类型 类型解释
    java.lang.Exception 根异常。用以描述应用程序希望捕获的情况
    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.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 不支持的方法异常。指明请求的方法不被支持情况的异常

    Error和Exception区分

    Error理解

    是编译时错误和系统错误,系统错误在除特殊情况下,都不需要做额外处理,基本不会出现。而编译时错误,如果使用编译器的情况下会提示。

    Exception理解

    则是可以被抛出的基本类型,需要注意和操作的也是这个类。其中,Exception又分为RunTimeException其他Exception

    RunTimeException和其他Exception区分

    其他Exception

    受检查异常。可以理解为错误,必须要开发者解决以后才能编译通过,解决的方法有两种:

    1、throw到上层;2、try-catch处理。就相当于你在使用eclipse等开发工具进行开发的时候,当某一语句可能存在异常的情况时,如果不做异常处理是不能编译通过的。

    例如:在Java开发过程中,获取某一字段的当前编码长度使用String类型中的.getBytes(String charsetName)方法时,就需要对潜在异常进行强制处理,否则编辑器会报错。《Java中文编码转换与字节长度判断》

    package com.action.spring;
    
    public class Cxx {
    
    	public static void main(String[] args) {
    		String chncode = "a测试";
    		byte[] aa = chncode.getBytes("GBK");
    		byte[] bb = chncode.getBytes("gb2312");
    		byte[] cc = chncode.getBytes("utf8");
    		System.out.println("GBK:"+aa.length);           
    		// >>>5
    		System.out.println("gb2312:"+bb.length);          
    		// >>>5
    		System.out.println("UTF8:"+cc.length);            
    		// >>>7
    
    	}
    
    }
    

    在这里插入图片描述

    此时,需要强制跑错到上层或者使用try-catch处理

    1、例:使用throws抛出异常到上层,可见编辑器不再提示错误。

    在这里插入图片描述

    2、例:使用try-catch处理,可见编辑器同样不再提示错误。

    在这里插入图片描述

    RunTimeException

    运行时异常,又称不受检查异常,不受编译器检查!
    注意!: 在编译器中对此类异常不做检查。因为不受检查,所以在代码中可能会有RunTimeException错误风险时Java编译检查时不会做出提醒,但是在实际部署运行代码时,如果存在错误情况则会暴露出来,比如开发中经常会遇到的空指针java.lang.NullPointerException)等。如果不处理将会被java自己处理并导致程序终止。

    相关逻辑

    在这里插入图片描述

    展开全文
  • JAVA 常见RuntimeException

    2019-09-26 20:12:06
    1.IllegalArgumentException 非法数据异常 抛出的异常表明向方法传递了一个不合法或不正确的参数。2.NullPointerException 空指针异常 当应用程序试图在需要对象的地方使用null时,抛出该异常。...

    1.IllegalArgumentException  非法数据异常
        抛出的异常表明向方法传递了一个不合法或不正确的参数。  

    2. NullPointerException 空指针异常
        当应用程序试图在需要对象的地方使用 null 时,抛出该异常。

    3.IndexOutOfBoundsException 序列越界异常
       指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。

    4.ClassCastException 类型转换异常
       
    当试图将对象强制转换为不是实例的子类时,抛出该异常。 

    5. ArithmeticException 算术异常
        当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。

    转载于:https://www.cnblogs.com/hjy1017/p/6021876.html

    展开全文
  • java常见runtimeException

    2016-07-31 21:09:07
    一般面试中java Exception(runtimeException )是必会被问到的问题 常见的异常列出四五种,是基本要求。更多的。。。。需要注意积累了   常见的几种如下:   NullPointerException - 空指针引用...
    一般面试中java Exception(runtimeException )是必会被问到的问题
    常见的异常列出四五种,是基本要求。更多的。。。。需要注意积累了
     
    常见的几种如下:
     
    NullPointerException - 空指针引用异常
    ClassCastException - 类型强制转换异常。
    IllegalArgumentException - 传递非法参数异常。
    ArithmeticException - 算术运算异常
    ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
    IndexOutOfBoundsException - 下标越界异常
    NegativeArraySizeException - 创建一个大小为负数的数组错误异常
    NumberFormatException - 数字格式异常
    SecurityException - 安全异常
    UnsupportedOperationException - 不支持的操作异常
     

    算术异常类: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
    不支持的方法异常。指明请求的方法不被支持情况的异常。

    展开全文
  • 几种常见RuntimeException

    2015-06-08 14:47:00
    一般面试java Exception(runtimeException )是个问题必须要问 常见的异常上市45种,它的基本要求。许多其他。。。。需要注意的积累 常见的几种例如以下: NullPointerException - 空指针引用异常 ...
  • RuntimeException可以说见的最多了,下面我们说明一下常见RuntimeException:   1:NullPointerException:见的最多了,其实很简单,一般都是在null对象上调用方法了。 String s=null; boolean ...
  • 5个常见RuntimeException 1)java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。 2)java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和...
  • 文章目录NullPointerException空指针异常ArrayIndexOutOfBoundsException数组下标越界NumberFormatException数字格式化异常ClassCastException类型转换异常ParseException转换异常StringIndexOutOfBoundsException ...
  • RuntimeException可以说见的最多了,下面我们说明一下常见RuntimeException:   1:NullPointerException:见的最多了,其实很简单,一般都是在null对象上调用方法了。 String s=null; boolean eq=s.equals(...
  • 常见RuntimeException 1.IllegalArgumentException 抛出的异常表明像方法传递了一个不合法或不正确的参数 2.NullPointerException 当应用程序试图在需要对象的地方使用null时,抛出该异常 3....
  • 常见RuntimeException

    2016-10-21 14:11:15
    常见RuntimeException
  • JAVA常见RuntimeException
  • Java常见RuntimeException: NullPointerException NumberFormatException ArrayIndexOutOfBoundsException StringIndexOutOfBoundsException ClassCastException UnsupportedOperationException Arithmetic...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 885
精华内容 354
关键字:

常见runtimeexception