Java中IOException所属包及显示java.io.IOException的原因咨询
Java中IOException的包归属及相关疑问解答
1. IOException定义在哪个包?
IOException定义在java.io包下,它是专门用来表示文件读写、网络传输等IO操作相关错误的检查型异常。
2. 为什么IOException的全类名不是java.lang.IOException?
你说的“Exception及其所有子类都定义在java.lang包下”是不对的。java.lang.Exception确实是所有异常类的父类,但Java并不会把所有异常子类都塞进java.lang包:
java.lang里只放最核心的通用异常,比如RuntimeException、NullPointerException这类几乎所有代码都可能碰到的异常;- 像
IOException这种和IO操作绑定的异常,就被放在java.io包下,这样按功能模块划分包的设计,能让开发者看到异常的包路径就知道它和哪个模块相关,找问题更方便。
所以打印异常信息时,会显示它的完整路径java.io.IOException。
内容的提问来源于stack exchange,提问作者Mithra
相关产品推荐
相关产品推荐

