在Java中,常见的运行时异常有以下几种:
- NullPointerException(空指针异常):当程序试图访问一个空对象的属性或调用一个空对象的方法时,会抛出该异常。
- ArrayIndexOutOfBoundsException(数组下标越界异常):当程序试图访问数组中不存在的索引时,会抛出该异常。
- ClassCastException(类转换异常):当程序试图将一个对象强制转换为不是其子类的类型时,会抛出该异常。
- ArithmeticException(算术异常):当在进行数学运算时发生错误,比如除以0,会抛出该异常。
- IllegalArgumentException(非法参数异常):当方法接收到一个不合法的参数时,会抛出该异常。
- NumberFormatException(数字格式异常):当将一个字符串转换为数字时,如果字符串的格式不正确,则会抛出该异常。
- UnsupportedOperationException(不支持的操作异常):当调用不支持的方法或操作时,会抛出该异常。
- IndexOutOfBoundsException(索引越界异常):当使用了不存在的索引或者索引超出了范围时,会抛出该异常。
- ConcurrentModificationException(并发修改异常):当多个线程对同一对象进行修改操作时,可能会出现该异常。
- OutOfMemoryError(内存溢出错误):当程序申请的内存超出了虚拟机的限制时,会抛出该错误。
这些异常都是RuntimeException类或其子类的实例,都是不受检查的异常,不需要显式地进行捕获或声明。