package exercise2;
import java.util.InputMismatchException;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
test ct=new test();
try {
ct.test();
}catch(InputMismatchException e){
System.out.println("请重新输入");
e.printStackTrace();
}
}
public void test() {
Scanner input=new Scanner(System.in);
String a=input.next();
}
}
import java.util.InputMismatchException;
import java.util.Scanner;
public class Tct2 {
public void test(){
Scanner input = new Scanner(System.in);
int a = input.nextInt();
}
public void show(){
try{
test();
}catch(InputMismatchException e){
System.out.println("类型异常,请重新输入:");
show();
}
}
public static void main(String[] args) {
Tct2 ojb = new Tct2();
ojb.show();
}
}
因为程序没错 所以无法实现异常 所以。。
因为你输入的都属于字符类型,并没有捕捉到异常。不妨试试将最后一行代码改成int a=input.nextInt();。然后输入一个字符类型,这样就能够抛出类型不匹配异常,就能够显示catch后你想输出的语句和异常信息。仅供参考。