java异常处理笔记 - 编程入门网
if(sLine == null) break;
wr.write(sLine);
wr.write("\r\n");
}
}
finally
{
wr.flush();
wr.close();
rd.close();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
编译时,输出的错误信息如下:
1 error java异常处理笔记(3)时间:2011-01-25 blogjava 江苏520当然,实际的 Java 编程中,由于 JDK 平台已经为我们设计好了非常丰富和完整的异常对象分类模型。因此,java 程序员一般是不需要再重新定义自己的异常对象。而且即便是需要扩展自定义的异常对象,也往往会从 Exception 派生而来。所以,对于 java 程序员而言,它一般只需要在它的顶级函数中 catch(Exception ex) 就可以捕获出所有的异常对象,而不必像 C++ 中采用 catch(…) 那样不伦不类,但又无可奈何的语法。因此,在 java 中也就不需要(也没有了) catch(…) 这样的语法。 至于 JDK 平台中的具体的异常对象分类模型,主人公阿愚打算放在另外单独的一篇文章中详细讨论,这里只简单的概括一下: 所有异常对象的根基类是 Throwable ,Throwable 从 Object 直接继承而来(这是 java 系统所强制要求的),并且它实现了 Serializable 接口(这为所有的异常对象都能够轻松跨越 Java 组件系统做好了最充分的物质准备)。从 Throwable 直接派生出的异常类有 Exception 和 Error 。 Exception 是 java 程序员所最熟悉的,它一般代表了真正实际意义上的异常对象的根基类。也即是说,Exception 和从它派生而来的所有异常都是应用程序能够 catch 到的,并且可以进行异常错误恢复处理的异常类型。而 Error 则表示 Java 系统中出现了一个非常严重的异常错误,并且这个错误可能是应用程序所不能恢复的,例如 LinkageError ,或 ThreadDeath 等。 对异常处理的管理更严格,也更严谨! 同样还是与 C++ 异常处理模型作比较,在 Java 系统中,它对异常处理的管理更严格,也更严谨!为什么这么说呢?下面请听阿愚娓娓道来! 首先还是看一个例子吧!代码如下:
熟悉 java 语言的程序员朋友们,你们认为上面的程序有什么问题吗?编译能通过吗?如果不能,那么原因又是为何呢?好了,有了自己的分析和预期之后,不妨亲自动手编译一下上面的小程序,呵呵!结果确实如您所料?是的,的确是编译时报错了,错误信息如下:
1 error java异常处理笔记(4)时间:2011-01-25 blogjava 江苏520上面这种编译 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |