日期:2014-05-16 浏览次数:20956 次
class Program
{
public class Test : IDisposable
{
public void Start()
{
Console.WriteLine("资源占用中");
}
public int Operation(int a, int b)
{
Console.WriteLine(a + "/" + b);
return a / b;
}
public void Dispose()
{
Console.WriteLine("已释放资源");
}
}
static void Fun_1()
{
using (Test test = new Test())
{
test.Start();
Console.WriteLine(test.Operation(20, 10));
Console.WriteLine(test.Operation(20, 0)); // 这里发生异常,由于使用了using,可保证调用对象的Dispose方法释放资源。
}
}
static void Fun_2()
{
Test test = new Test();
test.Start();
Console.WriteLine(test.Operation(20, 10));
Console.WriteLine(test.Operation(20, 0)); // 这里发生异常,没有补货异常,导致Dispose方法未被执行,资源未释放。
test.Dispose();
}
static void Main(string[] args)
{
try
{
&n