Board logo

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

作者: tonyh    時間: 2017-3-25 10:47     標題: 例外處理 (二)

本帖最後由 tonyh 於 2017-3-25 11:32 編輯

利用 try...catch 語法捕捉例外, 與 toString() 函式將捕捉到的例外類別顯示出來.
try...catch 語法基本架構如下:

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




  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     public static void main(String args[])
  5.     {
  6.         while(true)
  7.         {
  8.             try
  9.             {
  10.                 int x,y;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 x=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 y=s.nextInt();
  16.                 System.out.println(x+"/"+y+" = "+x/y);
  17.                 System.out.println();
  18.             }catch(Exception e)
  19.             {
  20.                 System.out.println("程式發生錯誤!");
  21.                 System.out.println("例外類別: "+e.toString());
  22.                 System.out.println();
  23.             }
  24.         }
  25.     }
  26. }
複製代碼

作者: 黃茂勛    時間: 2017-3-25 11:39

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     public static void main(String args[])
  5.     {
  6.        while(true)
  7.        {
  8.          try
  9.          {
  10.            Scanner s=new Scanner(System.in);
  11.            int x,y;
  12.            System.out.print("請輸入分子: ");
  13.            x=s.nextInt();
  14.            System.out.print("請輸入分母: ");
  15.            y=s.nextInt();
  16.            System.out.print(x+"/"+y+" = "+x/y);
  17.          }catch(Exception e)
  18.          {
  19.            System.out.println("程式錯誤!");
  20.            System.out.println("列外類別: "+e.toString());
  21.            System.out.println();
  22.          }
  23.        }
  24.     }
  25. }
複製代碼

作者: 陳泓瑜    時間: 2017-3-25 11:43

  1. import java.util.Scanner;
  2. public class Ch41
  3. {
  4.    public static void main(String args[])
  5.    {
  6.      while(true)
  7.      {
  8.       
  9.         try
  10.         {
  11.         float x,y;

  12.         Scanner s=new Scanner(System.in);
  13.       
  14.         System.out.print("ENTER X/-:");
  15.         x=s.nextFloat();
  16.         System.out.print("ENTER -/Y:");
  17.         y=s.nextFloat();
  18.       
  19.         System.out.println(x+"/"+y+"="+(x/y));
  20.         }
  21.         catch(Exception ex)
  22.         {
  23.           for(int i=1; i<8609; i++)
  24.           {
  25.              System.out.print("ERROR!");
  26.           }

  27.         }
  28.      }
  29.    }
  30. }
複製代碼

作者: 林侑成    時間: 2017-3-25 11:49

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     public static void main(String args[])
  5.     {
  6.         while(true)
  7.         {
  8.             try
  9.             {
  10.                 int x,y;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 x=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 y=s.nextInt();
  16.                 System.out.println(x+"/"+y+" = "+x/y);
  17.                 System.out.println();
  18.             }catch(Exception e)
  19.             {
  20.                 System.out.println("程式發生錯誤!");
  21.                 System.out.println("例外類別: "+e.toString());
  22.                 System.out.println();
  23.             }
  24.         }
  25.     }
  26. }
複製代碼

作者: 陸長辰    時間: 2017-4-15 09:01

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     public static void main(String args[])
  5.     {
  6.         while(true)
  7.         {
  8.             try
  9.             {
  10.                 int x,y;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 x=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 y=s.nextInt();
  16.                 System.out.println(x+"/"+y+" = "+x/y);
  17.                 System.out.println();
  18.             }catch(Exception e)
  19.             {
  20.                 System.out.println("程式發生錯誤!");
  21.                 System.out.println("例外類別: "+e.toString());
  22.                 System.out.println();
  23.             }
  24.         }
  25.     }
  26. }
複製代碼





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