Board logo

標題: 例外處理 (二) [打印本頁]

作者: 李泳霖    時間: 2024-1-15 22:24     標題: 例外處理 (二)

進行例外處理是不希望程式中斷。而是希望程式能捕捉錯誤並繼續執行,若錯誤是使用者輸入不正確資料所造成的,可以要求使用者輸入正確資料再繼續執行,或者不處理使用者輸入資料繼續做其他工作。

Java使用 try … catch … finally 敘述來解決例外處理,它的方式是將被監視的敘述區段寫在try大括號內,當程式執行到try內的敘述有發生錯誤時,會逐一檢查捕捉(catch)該錯誤,以便執行該catch內敘述。最後不管是否有符合catch,都會執行最後的finally敘述區段。例外處理的格式如下:

try
{
    預期可能發生例外的敘述
}
catch(例外物件)
{
    對應的處理程序
}
finally       //可有可無
{
    無論例外是否發生都會處理的程序
}


試運用無窮迴圈搭配 try...catch 語法捕捉例外, 使執行時無論發生什麼例外, 程式都不會因此而中斷. 另外使用 toString() 方法將捕捉到的例外顯示出來.

  1. using ConsoleApp1;
  2. using System;
  3. using System.Linq.Expressions;

  4. class Program
  5. {
  6.     static void Main()
  7.     {
  8.         try
  9.         {
  10.             int x, y;
  11.             Console.Write("輸入分子: ");
  12.             x = Convert.ToInt32(Console.ReadLine());
  13.             Console.Write("輸入分母: ");
  14.             y = Convert.ToInt32(Console.ReadLine());
  15.             Console.WriteLine(x + "/" + y + "=" + (x / y));
  16.         }catch (DivideByZeroException e)
  17.         {
  18.             Console.WriteLine(e.Message);
  19.         }

  20.     }
  21. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2