import java.io.*;//程序有输入流时,请导包~~
class Test
{
public static void main(String[] args)
{
int number;
try
{
number = System.in.read();
System.out.println("Exception1");
}
catch(IOException e)
{
System.out.println("Exception2");
}
finally
{
System.out.println("Exception3");
}
System.out.println("Exception4");//请注意一些小细节~~
}
}
结果:
89
Exception1
Exception3
Exception4
程序首先从主函数运行,运行try{}里面的语句,等待键盘输入~~try里面没有有异常、程序运行System.out.println("Exception1");try没有异常,所以catch(IOException e System.out.println("Exception2");},是不会运行的。而java里面的finally表示程序总会执行的(除了一种情况,在finally之前就退出了虚拟机),最后程序执行行System.out.println("Exception4");
总结:
try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally }
|