黑马程序员技术交流社区

标题: 为什么处理完异常后此程序没有继续往下执行? [打印本页]

作者: 笑轻轻    时间: 2014-8-20 20:55
标题: 为什么处理完异常后此程序没有继续往下执行?
import java.lang.reflect.Field;


public class Filed类 {

        public static void main(String[] args)  {
                A one=new A(1,2);
                Field f1=null;
                Field f2=null;
                                try {
                        A:                f1=one.getClass().getField("a");//1.通过A类的字节码获取其指定的Filed的实例.
                                                                       //2.注意此处得到的成员变量为类的成员变量,f输出为null
                                                                       //3.此getField方法只能获取公共的成员变量 否则抛出NoSuchFieldException
                    f2=one.getClass().getDeclaredField("a");//此getDeclaredField方法可以获得任何权限的成员变量
                                        try {
                                            f2.setAccessible(true);//当成员变量为私有是,通过此方法亦可访问。此即为暴力反射
                                                System.out.println(f2.get(one));//此get方法默认条件下只能访问非私有的成员变量否则抛出IllegalAccessException
                                        } catch (IllegalArgumentException e) {
                                                System.out.println("非法参数");
                                        } catch (IllegalAccessException e) {
                                                System.out.println("非法访问异常");
                                        }      
                                } catch (SecurityException e) {
                                        System.out.println("安全异常");  
                                } catch (NoSuchFieldException e) {
                                System.out.println("没有此成员变量");
                                }



        }
}
class A{
        private int a;
        public  int b;
        public A(int a, int b) {
                super();
                this.a = a;
                this.b = b;
        }

}


作者: 笑轻轻    时间: 2014-8-20 20:57
此程序输A处出出异常输出没有此成员变量 就完事了 怎么不继续向下执行?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2