当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。
 

 

 ·asp.net 文章集锦    »显示摘要«
    摘要:在 asp.net 中执行 url 重写http://www.microsoft.com/china/msdn/library/webservices/asp.net/urlrewriting.mspx asp.net 安全性概述http://support.microsoft.com/default.aspx?scid=kb;zh-cn;306590 asp.net 指南http://sup......
 ·c# 编码规范     »显示摘要«
    摘要: technotes, howto series c# coding style guide version 0.3by mike krüger icsharpcode.net about the c# coding style guide file organization indentation comments declarations st......


使用 finally 关键字来避免资源漏洞
import java.net.*; import java.io.*; class withoutfinally { public void foo() throws ioexception { //在任一个空闲的端口上创建一个套接字 serversocket ss = new serversocket(0); try { socket socket = ss.accept(); //此处的其他代码... } catch (ioexception e) { ss.close(); //1 throw e; } //... ss.close(); //2 } }

这段代码创建了一个套接字,并调用 accept 方法.在退出该方法之前,您必须关闭此套接字,以避免资源漏洞.为了完成这一任务,我们在 //2 处调用 close,它是该方法的最后一条语句.但是,如果 try 块中发生一个异常会怎么样呢?在这种情况下,//2 处的 close 调用永远不会发生.因此,您必须捕获这个异常,并在重新发出这个异常之前在 //1 处插入对 close 的另一个调用.这样就可以确保在退出该方法之前关闭套接字. 【推荐阅读:网页色彩的搭配

与其他语言的模型相比,finally 关键字是对 java 异常处理模型的最佳补充. finally 结构使代码总会执行,而不管有无异常发生.使用 finally 可以维护对象的内部状态,并可以清理非内存资源. 如果没有 finally,您的代码就会很费解.例如,下面的代码说明,在不使用 finally 的情况下您必须如何编写代码来释放非内存资源:

这样编写代码既麻烦又易于出错,但在没有 finally 的情况下这是必不可少的.
...   下一页

 ·一个正则表达式的类     »显示摘要«
    摘要:using system; namespace regexlib { /// /// class1 的摘要说明。public class regexlib { public regexlib() { // // todo: 在此处添加构造函数逻辑 // } //搜索输入字符串并返回所有 href=“...”值 string dumphrefs(string inputs......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE