是否可以捕获 java.lang.reflect.GenericSignatureFormatError?

com.google.gson.Gson.fromJson() 在 try-catch 块中被调用,但它仍然导致以下应用程序崩溃,尽管它很少发生

java.lang.reflect.GenericSignatureFormatError: 
  at libcore.reflect.GenericSignatureParser.parseFieldTypeSignature (GenericSignatureParser.java:297)
  at libcore.reflect.GenericSignatureParser.parseTypeArgument (GenericSignatureParser.java:374)
  at libcore.reflect.GenericSignatureParser.parseOptTypeArguments (GenericSignatureParser.java:344)
  at libcore.reflect.GenericSignatureParser.parseClassTypeSignature (GenericSignatureParser.java:317)
  at libcore.reflect.GenericSignatureParser.parseFieldTypeSignature (GenericSignatureParser.java:289)
  at libcore.reflect.GenericSignatureParser.parseForField (GenericSignatureParser.java:218)
  at java.lang.reflect.Field.getGenericType (Field.java:177)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java:160)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java:102)
  at com.google.gson.Gson.getAdapter (Gson.java:457)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java:117)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java:166)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java:102)
  at com.google.gson.Gson.getAdapter (Gson.java:457)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField (ReflectiveTypeAdapterFactory.java:117)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields (ReflectiveTypeAdapterFactory.java:166)
  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create (ReflectiveTypeAdapterFactory.java:102)
  at com.google.gson.Gson.getAdapter (Gson.java:457)
  at com.google.gson.Gson.fromJson (Gson.java:921)
  at com.google.gson.Gson.fromJson (Gson.java:860)

有没有办法捕获 java.lang.reflect.GenericSignatureFormatError 以防止应用程序崩溃?

编辑:代码如下:

try{
    ...
    foo = _gson.fromJson(bufferedReader, Foo.class); 
    ...
}catch(Exception ex) {
    ...
}

也许我认为 catch(Exception ex) 捕获一切的假设是错误的。

桑比特

洪先生,您可以通过以下方式处理。

try{
    ...
    foo = _gson.fromJson(bufferedReader, Foo.class); 
    ...
}catch(Exception ex) {
    ...
}
catch(Error err) {
    ...
}

一定要记住,类型错误的任何错误一样NoClassDefFoundErrorNoSuchMethodError在捕捉(异常前)块没有抓到。但是错误是不可恢复的。您可以在您的 android 应用程序中显示一些弹出消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

ByteBuddy中是否有任何方法可以将TypeDescription.Generic转换为适当的java.lang.reflect.Type?

来自分类Dev

ByteBuddy中是否有任何方法可以将TypeDescription.Generic转换为适当的java.lang.reflect.Type?

来自分类Dev

Android中的java.lang.reflect.invocationtargetException

来自分类Dev

java.lang.reflect.Array的性能

来自分类Dev

Roboelectric java.lang.RuntimeException:java.lang.reflect.InvocationTargetException

来自分类Dev

BigSheets-java.io.IOException:java.lang.reflect.UndeclaredThrowableException

来自分类Dev

有什么办法可以将org.testng.ITestResult或ITestNGMethod转换为java.lang.reflect.Method。

来自分类Dev

我们可以调用一个参数为java.lang.reflect.Array的方法吗?

来自分类Dev

有什么办法可以将org.testng.ITestResult或ITestNGMethod转换为java.lang.reflect.Method。

来自分类Dev

为什么显示“ java.lang.reflect.InvocationTargetException”

来自分类Dev

使用java.lang.reflect.Type检查实例

来自分类Dev

了解java.lang.reflect.InvocationHandler的invoke方法的“代理”参数

来自分类Dev

Scala TypeTag到java.lang.reflect.Type

来自分类Dev

显示错误原因:java.lang.reflect.InvocationTargetException

来自分类Dev

了解java.lang.reflect.InvocationHandler的invoke方法的“代理”参数

来自分类Dev

如何从Scala类型获取java.lang.reflect.Type?

来自分类Dev

Javassist:将CtMethod转换为java.lang.reflect.Method

来自分类Dev

获取java.lang.reflect.Type的简单代码

来自分类Dev

从TextField获取值时java.lang.reflect.InvocationTargetException-Javafx

来自分类Dev

java.lang.reflect.Proxy:巨大的异常堆栈跟踪

来自分类Dev

java.lang.NoClassDefFoundError:scala / reflect / api / TypeCreator

来自分类Dev

什么是`4161`在java.lang.reflect.Method中修改的平均

来自分类Dev

投java.lang.reflect.Method中的功能接口

来自分类Dev

会议室DB:java.lang.reflect.InvocationTargetException

来自分类Dev

如何修复/解决java.lang.reflect.InvocationTargetException

来自分类Dev

签名的jar抛出java.lang.reflect.InvocationTargetException

来自分类Dev

如何在Maven中解决java.lang.reflect.InvocationTargetException

来自分类Dev

java.lang.ClassNotFoundException:scala.reflect.api.TypeCreator

来自分类Dev

如何从Scala类型获取java.lang.reflect.Type?

Related 相关文章

  1. 1

    ByteBuddy中是否有任何方法可以将TypeDescription.Generic转换为适当的java.lang.reflect.Type?

  2. 2

    ByteBuddy中是否有任何方法可以将TypeDescription.Generic转换为适当的java.lang.reflect.Type?

  3. 3

    Android中的java.lang.reflect.invocationtargetException

  4. 4

    java.lang.reflect.Array的性能

  5. 5

    Roboelectric java.lang.RuntimeException:java.lang.reflect.InvocationTargetException

  6. 6

    BigSheets-java.io.IOException:java.lang.reflect.UndeclaredThrowableException

  7. 7

    有什么办法可以将org.testng.ITestResult或ITestNGMethod转换为java.lang.reflect.Method。

  8. 8

    我们可以调用一个参数为java.lang.reflect.Array的方法吗?

  9. 9

    有什么办法可以将org.testng.ITestResult或ITestNGMethod转换为java.lang.reflect.Method。

  10. 10

    为什么显示“ java.lang.reflect.InvocationTargetException”

  11. 11

    使用java.lang.reflect.Type检查实例

  12. 12

    了解java.lang.reflect.InvocationHandler的invoke方法的“代理”参数

  13. 13

    Scala TypeTag到java.lang.reflect.Type

  14. 14

    显示错误原因:java.lang.reflect.InvocationTargetException

  15. 15

    了解java.lang.reflect.InvocationHandler的invoke方法的“代理”参数

  16. 16

    如何从Scala类型获取java.lang.reflect.Type?

  17. 17

    Javassist:将CtMethod转换为java.lang.reflect.Method

  18. 18

    获取java.lang.reflect.Type的简单代码

  19. 19

    从TextField获取值时java.lang.reflect.InvocationTargetException-Javafx

  20. 20

    java.lang.reflect.Proxy:巨大的异常堆栈跟踪

  21. 21

    java.lang.NoClassDefFoundError:scala / reflect / api / TypeCreator

  22. 22

    什么是`4161`在java.lang.reflect.Method中修改的平均

  23. 23

    投java.lang.reflect.Method中的功能接口

  24. 24

    会议室DB:java.lang.reflect.InvocationTargetException

  25. 25

    如何修复/解决java.lang.reflect.InvocationTargetException

  26. 26

    签名的jar抛出java.lang.reflect.InvocationTargetException

  27. 27

    如何在Maven中解决java.lang.reflect.InvocationTargetException

  28. 28

    java.lang.ClassNotFoundException:scala.reflect.api.TypeCreator

  29. 29

    如何从Scala类型获取java.lang.reflect.Type?

热门标签

归档