我在android上创建了一个Firebird直接wifi连接的应用程序。有时我得到这样的错误:
FATAL EXCEPTION: AsyncTask #4 java.lang.RuntimeException:一个错误在执行doInBackground()时发生android.os.AsyncTask 3.美元(AsyncTask.java: 200)java.util.concurrent.FutureTask Sync.innerSetException美元(FutureTask.java: 274)java.util.concurrent.FutureTask.setException (FutureTask.java: 125)java.util.concurrent.FutureTask Sync.innerRun美元(FutureTask.java: 308)在java.util.concurrent. futurettask .run(futurettask .java:138) atjava.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java: 1088)在java.util.concurrent.ThreadPoolExecutor Worker.run美元(ThreadPoolExecutor.java: 581)at java.lang.Thread.run(Thread.java:1019)java.lang.NullPointerException在org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscDatabaseInfo (AbstractJavaGDSImpl.java: 518)在org.firebirdsql.jdbc.AbstractConnection.isValid (AbstractConnection.java: 594)在br.com.controlemesa.banco.DBFBConnect.disconnect (DBFBConnect.java: 61)在br.com.controlemesa.banco.DBFBConnect.spListaMesas (DBFBConnect.java: 170)在br.com.controlemesa.activities.MesasActivity PopulaGridMesas.doInBackground美元(MesasActivity.java: 193)在br.com.controlemesa.activities.MesasActivity PopulaGridMesas.doInBackground美元(MesasActivity.java: 1)在android.os.AsyncTask$2.call(AsyncTask.java:185java.util.concurrent.FutureTask Sync.innerRun美元(FutureTask.java: 306)…4个
有其他人收到这条消息吗?我该如何预防呢?
查看代码,如果连接已经关闭,则可能发生此NullPointerException
。我在Jaybird跟踪器中创建了问题JDBC-313。我会在2.2.4版本的"正常"Jaybird中修复它。通常,Android Jaybird项目的维护者会在此之后不久发布一个新版本。
不知道你的确切代码,我不确定什么是解决方案。当您的stacktraces列出DBFBConnect.disconnect
时,我假设您想要断开连接。在这种情况下,我建议您不要检查连接的有效性,而只需在连接上调用close()
。