我有一个异步任务进入数据库并获取数据。偶尔,数据库连接丢失,当我进入异步任务并且应用程序崩溃时,我遇到了异常。 我的问题是有一种方法来捕获连接失去异常,而我在异步线程中并向用户发布一条消息,表明连接丢失并阻止我的应用程序崩溃。 在此先感谢您的帮助。 亚历
答案 0 :(得分:1)
第1步:将Exception
存储在AsyncTask
的数据成员中,当您在doInBackground()
中找到它时
步骤2:在onPostExecute()
中,如果您在该数据成员中存储了Exception
,请对其执行某些操作(例如display a crouton)。
答案 1 :(得分:0)
您可以按照以下方式执行此操作:
private class GetData extends AsyncTask<String, Void, String>
{
@Override
protected String doInBackground(String... params)
{
try{
//Access DB here
return "Success";
}
catch(Exception e)
{
return "Exception"
}
}
@Override
protected void onPreExecute()
{
}
@Override
protected void onPostExecute(String result)
{
if (result.equalsIgnoreCase("Success"))
{
//Do your operation
}
else if (result.equalsIgnoreCase("Exception"))
{
//Display Exception here
}
}
}