次のコードは、Integer クラス コンストラクターで整数値ではなく文字値が渡された場合にNumberFormatExceptionをスローします。
class Wrap
{
public static void main(String...args)
{
Integer j=new Integer("s");
System.out.println(j);
}
}
また、次のコードは、ユーザーが整数値ではなく文字値を入力すると、 InputMismatchExceptionをスローします。
import java.util.Scanner;
class User
{
public static void main(String...args)
{
Scanner obj=new Scanner(System.in);
int i=obj.nextInt();
int j=obj.nextInt();
System.out.println("sum of numbers input by user");
System.out.println(i+j);
}
}
どちらの例外も同じシナリオでスローされるように見えますが、どのように違うのでしょうか?