標題:
例外處理 (二)
[打印本頁]
作者:
may
時間:
2022-12-29 17:26
標題:
例外處理 (二)
進行例外處理是不希望程式中斷。而是希望程式能捕捉錯誤並繼續執行,若錯誤是使用者輸入不正確資料所造成的,可以要求使用者輸入正確資料再繼續執行,或者不處理使用者輸入資料繼續做其他工作。
Java使用 try … catch … finally 敘述來解決例外處理,它的方式是將被監視的敘述區段寫在try大括號內,當程式執行到try內的敘述有發生錯誤時,會逐一檢查捕捉(catch)該錯誤,以便執行該catch內敘述。最後不管是否有符合catch,都會執行最後的finally敘述區段。例外處理的格式如下:
try
{
預期可能發生例外的敘述
}
catch(例外物件)
{
對應的處理程序
}
finally //可有可無
{
無論例外是否發生都會處理的程序
}
試運用無窮迴圈搭配 try...catch 語法捕捉例外, 使執行時無論發生什麼例外, 程式都不會因此而中斷. 另外使用 toString() 方法將捕捉到的例外顯示出來.
import java.util.Scanner;
public class Ch52
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
林紘憲
時間:
2022-12-31 11:38
import java.util.Scanner;
public class Ch52
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
許宸瑀
時間:
2022-12-31 11:44
import java.util.Scanner;
public class Ch101
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
柳侑辰
時間:
2022-12-31 11:44
import java.util.Scanner;
public class Ch52
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
高昀昊
時間:
2022-12-31 11:44
import java.util.Scanner;
public class A
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
孫子傑
時間:
2022-12-31 11:44
import java.util.Scanner;
public class ZXCVB
{
static Scanner s=new Scanner(System.in);
public static void main(String[] args)
{
for(;;)
{
try
{
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
break;
}
System.out.println();
}
}
}
複製代碼
作者:
曾善勤
時間:
2022-12-31 11:44
import java.util.Scanner;
public class Ch01
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子 ");
x=s.nextInt();
System.out.print("輸入分母 ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
鍾易澄
時間:
2022-12-31 11:45
import java.util.Scanner;
public class Ch52
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
許馹東
時間:
2022-12-31 11:45
import java.util.Scanner;
public class A
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
break;
}
System.out.println();
}
}
}
複製代碼
作者:
利勁鋼
時間:
2022-12-31 11:45
import java.util.Scanner;
public class A
{
public static void main(String[] args)
{
while(true)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
田家齊
時間:
2022-12-31 11:45
import java.util.Scanner;
public class Ch01
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
鍾易澄
時間:
2023-1-14 09:41
import java.util.Scanner;
public class Ch52
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
作者:
高鋐鈞
時間:
2023-1-14 09:45
import java.util.Scanner;
public class Ch01
{
public static void main(String[] args)
{
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(Exception e)
{
System.out.println("程式發生錯誤!");
System.out.println("例外類別: "+e.toString());
}
System.out.println();
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2