运行时异常如NullPointerException、ArrayIndexOutOfBoundsException由程序逻辑错误引起,编译器不要求处理;2. 检查异常如IOException、SQLException必须在编译期捕获或声明;3. 错误如OutOfMemoryError、StackOverflowError由JVM抛出,通常无法恢复。

Java中的异常类主要分为两大类:检查异常(checked exceptions)和非检查异常(unchecked exceptions),后者包括运行时异常(runtime exceptions)和错误(errors)。以下是常见的异常类,按类别划分:
1. 运行时异常(RuntimeException)
这些异常通常由程序逻辑错误引起,编译器不要求必须处理。常见子类包括:
- NullPointerException:尝试访问空对象的成员变量或方法。
- ArrayIndexOutOfBoundsException:数组下标越界。
- ClassCastException:类型强制转换错误。
- IllegalArgumentException:传递非法参数给方法。
- NumberFormatException:字符串无法转换为数字类型,如调用 Integer.parseInt("abc")。
- ArithmeticException:算术异常,例如除以零。
- IllegalStateException:对象处于不适当的状态,无法执行请求的操作。
2. 检查异常(Checked Exceptions)
这类异常在编译阶段就必须处理,要么捕获,要么声明抛出。常见例子有:
- IOException:输入输出操作失败,如文件读写错误。
- FileNotFoundException:试图打开不存在的文件。
- SQLException:数据库操作出错。
- InterruptedException:线程在等待、休眠或加入时被中断。
- ClassNotFoundException:找不到指定的类,常出现在反射操作中。
3. 错误(Error)
属于严重问题,通常不是程序能处理的,一般由JVM抛出。典型代表:
拥有企业网站常用的模块功能:企业简介模块、联系我们模块、新闻(文章)模块、产品模块、图片模块、招聘模块、在线留言、反馈系统、在线交流、友情链接、网站地图、栏目管理、网站碎片、管理员与权限管理等等,所有模块的分类均支持无限级别的分类,可拓展性非常强大。其中包括万能的栏目管理系统、网站碎片管理系统,通过这些系统,可以组合出各种不同的页面和应用。系统带强大灵活的后台管理功能、支持伪静态URL页面功能、自
立即学习“Java免费学习笔记(深入)”;
- OutOfMemoryError:堆内存不足。
- StackOverflowError:栈溢出,通常因递归太深导致。
- NoClassDefFoundError:类在编译期存在,但运行期找不到定义。
- VirtualMachineError:虚拟机出现内部错误或资源耗尽。
理解这些常见异常有助于编写更健壮的代码。对于运行时异常,应通过良好的编程习惯避免;对于检查异常,必须显式处理;而错误一般无法恢复,程序通常会终止。
基本上就这些。掌握它们的触发场景和处理方式,对日常开发很有帮助。









