这是意外的文件结尾、读取错误或者其他的错误：用户界面只需要从 "cause" 属性中提取出异常信息。用户界面层会有自身一系列的异常。若对 "cause" 感兴趣，可以在调试期间、或在适当的日志中查看异常的堆栈跟踪信息（ stack track ）。Java中 受控异常（Checked exceptions） 特别强调了抛出正确类型的异常，从 Java 1.4版本开始，几乎所有的异常都支持异常链。在运行时环境，比如 Java 或 .Net 中，都有工具连接到运行时引擎；每当感兴趣的异常发生，这些工具