-3

まず最初に、if-else 構成または while ループを使用すると、このプログラムをより簡単に完成できることはわかっていますが、例外クラスを使用してそれを行う方法を知りたいと思います。(try-catch ブロックを利用したカスタムメイドの例外を使用する必要があると思います)。


import java.util.Scanner;

class AgeChecker
{
    public static void main(String [] args)
    {
        Scanner inputdata = new Scanner(System.in);
        System.out.print("Enter your name: ");
        String name = inputdata.nextLine();
        System.out.print(name+", enter your age: ");
        int age = inputdata.nextInt();
        try
        { // age entered must be between 0-125 (how to trigger exception in catch block?)
            System.out.println("You entered: "+age);
        }
        catch(Exception e)
        {
            System.out.println("Out of range error! (must be between ages 0 and 125)"+e);
        }
        finally
        {
            System.out.println("Age Checking Complete.");
        }
    }
}
4

4 に答える 4

1

例外の代わりに if-else を使用しない理由はわかりませんが、既存の例外クラスをサブクラス化することでカスタム例外を作成できます。通常、「宣言された」例外の場合は Exception をサブクラス化し、キャッチする必要のない例外の場合は RuntimeException をサブクラス化します。あなたの場合、次のように例外をサブクラス化できます。

public MyException extends Exception
{
}

範囲の問題が見つかった場合はスローします。

throw new MyException();

次に、例外をキャッチするか、MyException のようにキャッチします。

catch(MyException exp) ...
于 2013-08-03T05:19:06.940 に答える
0
public class yourExcetionActivity extends Exception 
{
    public yourExcetionActivity() { }
    public yourExcetionActivity(String string) {
        super(string);
    }
}
于 2013-08-03T05:32:29.163 に答える