当try语句中出现异常是时.会执行catch中的语句。java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象.e是此对象引用名称.然后e(引用)会自动调用Exception类中指定的方法。也就出现了e.printStackTrace() ,.printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。你上面的那一条程序在获得的结果中,捕获异常,所以结果会打印出异常。而你的第二条程序,你的object返回对象不再e.printStackTrace()范围内,所以不出现打印错误。return object是属于 public Object getValue(int i){}函数内的一部分 ,这个必须有返回值,你放到try里面肯定是缺少返回值了,所以肯定会出错,是不行的 |