package Number;
public class TakeException{
public static void main(String[] args){
try{
String name = "zyr";
System.out.println(name+"年龄是:");
int age = Integer.parseInt("20aa");
System.out.println(age);
}catch(Exception e){
e.printStackTrace();
}
System.out.println("program over");
}
}
输出结果为:
zyr年龄是:
java.lang.NumberFormatException: For input string: "20aa"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Number.TakeException.main(TakeException.java:8)
program over
可以看出,程序仍然输出了最后提示信息“program over”,没有因为异常而终止。在本例中将可能出现异常的代码用try-catch语句进行了处理,当try代码块中的语句发生异常时,程序就会跳转到catch代码块中执行,执行完catch代码块中的程序代码后,将继续执行catch代码块后面的其他代码,而不会 执行try代码块中发生异常语句后面的代码。由此可知,java的异常处理是结构化的,不会因为一个异常影响整个程序的执行。