欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java实现非法访问异常示例

程序员文章站 2024-02-25 20:18:21
思路分析: 首先使用class获得一个代表string类的类对象,然后使用class类的getdeclaredfields()方法获得所有成员变量,并赋值给一个field...

思路分析:

首先使用class获得一个代表string类的类对象,然后使用class类的getdeclaredfields()方法获得所有成员变量,并赋值给一个field型数组,即得到string类的所有域。
使用foreach()循环遍历所有域,使用field类的getname()方法获得该成员变量的名称,如果域的名字是hash,尝试使用field类的getint(object obj)方法获得指定对象中类型为int的该成员变量的值。
依次捕获illegalargumentexception异常和illegalaccessexception异常。
代码如下:

复制代码 代码如下:

import java.lang.reflect.field;

public class exceptiontest {
    public static void main(string[] args) {
        class<?> clazz = string.class;                        //获得代表string类的类对象
        field[] fields = clazz.getdeclaredfields();
        for (field field : fields) {                            //遍历所有域        
            system.out.println(field);
            if (field.getname().equals("hash")) {               //如果域的名字是hash
                try {
                    system.out.println(field.getint("hash"));   // 输出hash的值
                } catch (illegalargumentexception e) {      //捕获illegalargumentexception异常
                    system.out.println(e);
                } catch (illegalaccessexception e) {            //捕获illegalaccessexception异常
                    system.out.println(e);
                }
            }
        }
    }
}


java实现非法访问异常示例