常见的Java异常有以下几种:
NullPointerException(空指针异常):当一个对象引用为null时,调用该对象的方法或访问其属性会抛出NullPointerException异常。
ArrayIndexOutOfBoundsException(数组越界异常):当访问数组元素的索引超出数组的范围时,会抛出ArrayIndexOutOfBoundsException异常。
ArithmeticException(算术异常):当发生除以零或者取模运算时,会抛出ArithmeticException异常。
IllegalArgumentException(非法参数异常):当传递给方法的参数不合法时,会抛出IllegalArgumentException异常。
ClassCastException(类型转换异常):当进行类型转换时,如果对象的实际类型与要转换的类型不兼容,会抛出ClassCastException异常。
IOException(输入输出异常):当发生输入输出操作失败或中断时,会抛出IOException异常。
FileNotFoundException(文件不存在异常):当访问文件时,如果文件不存在,会抛出FileNotFoundException异常。
InterruptedException(线程中断异常):当一个线程处于等待、睡眠或者暂停状态时,另一个线程中断了它,会抛出InterruptedException异常。
RuntimeException(运行时异常):包括诸如数组越界、空指针、类型转换等运行时错误,不需要显式地在代码中处理,可以选择性地捕获和处理。
Exception(其他异常):除了上述常见异常之外的其他异常,需要显式地在代码中处理或者通过throws关键字抛出给调用者进行处理。