Android异常终结器

时间:2015-05-03 20:34:43

标签: android ssl dalvik finalizer

我一直收到这个错误,我无法弄明白为什么。它不会导致应用崩溃,但我不确定它是否会影响我的应用。

05-03 16:29:20.962  31355-31366/com.example.apthagreat.faf E/System﹕ Uncaught
exception thrown by finalizer
05-03 16:29:20.972  31355-31366/com.example.apthagreat.faf E/System﹕ java.lang.NullPointerException: ssl == null
        at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
        at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:794)
        at java.io.BufferedOutputStream.flushInternal(BufferedOutputStream.java:185)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:85)
        at org.postgresql.core.PGStream.flush(PGStream.java:531)
        at org.postgresql.core.v3.ProtocolConnectionImpl.close(ProtocolConnectionImpl.java:143)
        at org.postgresql.jdbc2.AbstractJdbc2Connection.close(AbstractJdbc2Connection.java:644)
        at org.postgresql.jdbc2.AbstractJdbc2Connection.finalize(AbstractJdbc2Connection.java:1003)
        at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:194)
        at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:177)
        at java.lang.Thread.run(Thread.java:818)

1 个答案:

答案 0 :(得分:0)

在Java编程语言中,终止器抛出的异常将被丢弃。这似乎是一个很容易被忽视的好方法,因此Android VM会记录一条消息,让您知道问题被忽略了。

如果由于资源已经被释放而被抛出NullPointerException,那么这是一个次要的逻辑问题。如果由于某些事情处于不良状态而被抛出,那么你可能会遇到更大的问题。日志消息只是告诉您需要调查的事情。

由于此错误发生在看似数据库冲洗前的情况下,因此您可能会丢失数据,因为SSL连接正在数据库之前关闭。