小编let*_*ava的帖子

反转API在迁移到java 9时没有抛出这样的方法异常

我正在从java 8迁移到java 9我正在使用反射从类'java.lang.Throwable'获取方法'getStackTraceElement(int)'而我正在将可访问性设置为"true".

程序适用于java 8但是当我迁移到java 9时,它开始失败并出现错误'java.lang.NoSuchMethodException:java.lang.Throwable.getStackTraceElement(int)."

我有一些在java 8中工作正常的代码,如下面的私有静态方法m;

'public static void main(String args[])
{
    try 
    {
        System.out.println("here1");
        //next line throws error
        m = Throwable.class.getDeclaredMethod("getStackTraceElement",int.class);
        m.setAccessible(true);
        System.out.println("here2");
    } catch (Exception e) {

        //logger.warn(e.getLocalizedMessage(), e);
        System.out.println("==>"+e.getLocalizedMessage);
        System.out.println("==>"+e.getName);
        System.out.println("==>"+e.getStackTraceElement);
        System.out.println("here3");
    }
}'
Run Code Online (Sandbox Code Playgroud)

java reflection java-9

3
推荐指数
1
解决办法
105
查看次数

标签 统计

java ×1

java-9 ×1

reflection ×1