运行时异常
在Java中,运行时异常是由RuntimeException类及其子类表示的异常。以下是一些常见的运行时异常:
1. NullPointerException(空指针异常):当引用变量为null时,试图访问对象的方法或成员变量时抛出。
2. ArrayIndexOutOfBoundsException(数组越界异常):当访问数组的索引超出范围时抛出。
3. ClassCastException(类转换异常):当试图将一个对象强制转换为不兼容的类时抛出。
4. IllegalArgumentException(非法参数异常):当向方法传递不合法的参数时抛出。
5. ArithmeticException(算术异常):当在算术运算中发生错误时,例如除以零时抛出。
6. UnsupportedOperationException(不支持的操作异常):当调用一个不支持的方法或操作时抛出。
7. ConcurrentModificationException(并发修改异常):当在迭代集合对象的过程中,使用了不允许的修改操作时抛出。
请注意,以上只是一些常见的运行时异常,实际开发中还可能遇到其他类型的异常。
编译时异常
在Java中,编译时异常是由Exception类及其子类(但不包括RuntimeException及其子类)表示的异常。以下是一些常见的编译时异常:
1. FileNotFoundException(文件未找到异常):当试图访问不存在的文件时抛出。
2. IOException(输入输出异常):当发生输入/输出操作错误时抛出,如读写文件、网络操作等。
3. ClassNotFoundException(类未找到异常):当试图加载不存在的类时抛出。
4. InterruptedException(中断异常):当一个线程在等待、睡眠或被阻塞时被中断时抛出。
5. SQLException(SQL异常):当在数据库操作中发生错误时抛出。
6. NoSuchMethodException(方法未找到异常):当尝试反射调用一个不存在的方法时抛出。
7. NoSuchFieldException(字段未找到异常):当尝试反射访问一个不存在的字段时抛出。
8. MalformedURLException(URL格式异常):当试图创建一个错误的URL对象时抛出。
请注意,以上只是一些常见的编译时异常,实际开发中还可能遇到其他类型的异常。编译时异常通常需要进行try-catch处理或者向上抛出。