gpt4 book ai didi

java - 代码不抛出异常

转载 作者:行者123 更新时间:2023-12-02 07:23:51 25 4
gpt4 key购买 nike

我正在尝试执行下面编写的代码,该代码应该抛出异常,但它没有这样做

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但是当我运行测试时它不会抛出任何异常

最佳答案

据我所知,如果一个方法被声明为公共(public)(或以其他方式可访问),setAccessible(false) 无法将其设为私有(private)。仅当您有私有(private)方法并且之前调用过 setAccessible(true) 时,它才有用。

关于java - 代码不抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com