我正在尝试执行下面的书面代码,代码应该抛出异常,但它不是这样做的
try {
Field.class.getMethod("getInt", Object.class).setAccessible(false);
StringSearch.class.getMethod("searchChars",cc.getClass(),pattern3.getClass()).setAccessible(false);
ss4.getClass().getMethod("searchChars",cc.getClass(),pattern3.getClass()).setAccessible(false);
ss4.searchChars(cc,pattern3);
ss4.searchString(str,pattern);
}
catch(NoSuchMethodException ex){
ex.printStackTrace();
}
它实际上应该抛出 IllegalAccessException。
ss4 是 BNDMWildcardsCI 类的对象(字符串搜索算法之一) cc,pattern3 是字符数组 str,pattern 是字符串
为什么它没有抛出异常,它没有抛出 NoSuchMethodFound 异常意味着它能够找到该方法我也尝试打印 isAccessible 并且它说 false 但是当我运行测试时它不会抛出任何异常