一, 什麼叫異常?
異常就是程式運行時的錯誤,它違反了一個系統約束或應用程式約束,或出 現了在正常操作時未預料的情形。如用0去除一個數時就會發生異常。
二, try…catch…finally…語句的結構?
未例:
try
{
Statement;
}
catch(…)
{
Statement;
}
finally
{
Statement;
}
1、 try塊包括正被異常保護的代碼。
2、 catch塊是處理異常的代碼塊,也稱例外處理常式。
3、 finally塊是在所有情況下無論如何都要執行的代碼,無論有沒有異常發生。
三, 綜合樣本:
namespace try_catch
{
class Program
{
static voidMain(string[] args)
{
MyClass mc = new MyClass();
try
{
mc.A();
}
catch (DivideByZeroException)
{
Console.WriteLine("catch clause inMain()");
}
finally
{
Console.WriteLine("finally clause inMain()");
}
Console.WriteLine("After try statement inMain.");
Console.WriteLine(" --keep running!");
}
}
class MyClass
{
public void A()
{
try
{
B();
}
catch (System.NullReferenceException)
{
Console.WriteLine("catch clause in A()");
}
finally
{
Console.WriteLine("finally clause in A()");
}
}
protected void B()
{
int x = 10, y = 0;
try
{
x /= y;
}
catch (System.IndexOutOfRangeException)
{
Console.WriteLine("catch clause in B()");
}
finally
{
Console.WriteLine("finally clause in B()");
}
}
}
}
程式輸出結果為:
finally clause in B()
finally clause in A()
catch clause inMain()
finally clause inMain()
After try statement inMain.
--keep running.