gpt4 book ai didi

java - 优雅地处理异常

转载 作者:行者123 更新时间:2023-11-29 07:54:54 33 4
gpt4 key购买 nike

我有一个函数可以发出 http 请求并解析响应 json 数据。该函数在 AsyncTask 类中调用。我定义了一个函数来检查在调用 asynctask 之前是否存在连接。但是一旦连接检查器函数返回 true...我的函数在 asynctask 类中运行并且设备失去连接应用程序强制关闭。

private void parseJson()
{
// HTTP request and JSON parsing done here
}

class getData extends AsyncTask <Void,Void,Void>
{


@Override
protected Void onPreExecute(Void...arg0)
{
super.onPreExecute();
//progress dialog invoked here
}

@Override
protected Void doInBackground(Void...arg0)
{
parseJSON();
return null;
}
@Override
protected Void onPostExecute(Void...arg0)
{
super.onPostExecute();
//UI manipulated here
}

}

我如何将 doInBackground() 方法中发生的异常通知用户并正确处理异常,因为 doInBackground() 不允许诸如触发 toast 消息之类的事情。

最佳答案

这样做

class getData extends AsyncTask <Void,Void,Boolaen>
{


@Override
protected Void onPreExecute(Void...arg0)
{
super.onPreExecute();
//progress dialog invoked here
}

@Override
protected Boolaen doInBackground(Void...arg0)
{
try{
parseJSON();
return true;
}catch(Exception e){
e.printStackStrace();
}

return false;
}
@Override
protected Void onPostExecute(Boolaen result)
{
super.onPostExecute(result);
if(result){
//success
}else{
// Failure
}

//UI manipulated here
}

}

关于java - 优雅地处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18525765/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com