异常处理
案例代码如下:
class Program
{
static void Main(string[] args)
{
MyClass cls = new MyClass();
try
{
cls.A();
}
catch (System.DivideByZeroException)
{
Console.WriteLine("catch clause in Main()");
}
finally
{
Console.WriteLine("Finally clause in Main()");
}
Console.WriteLine("After try statement in Main");
Console.WriteLine("------------keep Running ");
Console.ReadLine();
}
}
class MyClass
{
public void A()
{
try
{
B();
}
catch (System.NullReferenceException)
{
Console.WriteLine("catch clause in A()");
}
finally
{
Console.WriteLine("finally clause in A()");
}
}
private void B()
{
int x = 10, y = 0;
try
{
x /= y;//除数不能为0;
}
catch (System.IndexOutOfRangeException )
{
Console.WriteLine("catch clause in B()");
}
finally
{
Console.WriteLine("finally clasue in B()");
}
}
}
//需要正确的异常原因。如果不是,则不会执行catch里面的内容。会继续往下执行。
//当下次try cathc 中,还没有找到异常,则会一直网上寻找。
//结果如下:
finally clasue in B()
finally clasue in A()
catch clause in Main()
Finally clause in Main()
After try statement in Main
------------keep Running

浙公网安备 33010602011771号