哪句有异常抛出?

哪句有异常抛出?

老师的课程里以下try{}catch{}里哪里有异常抛出?

# 相关课程内容截图
http://img1.sycdn.imooc.com//climg/5fa8ddc60975c50b09410596.jpg# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

public class ChapterBiz {

private ChapterDao chapterDao = new ChapterDao();

public void loadDatas(final Context context, final CallBack callBack,
final boolean useCache) {
AsyncTask<Boolean, Void, List<Chapter>> asyncTask
               = new AsyncTask<Boolean, Void, List<Chapter>>() {

private Exception ex;

@Override
           protected void onPostExecute(List<Chapter> chapters) {
if (ex != null) {
callBack.loadFailed(ex);
} else {
callBack.loadSuccess(chapters);
}

}

@Override
           protected List<Chapter> doInBackground(Boolean... booleans) {
final List<Chapter> chapters = new ArrayList<>();

try {
// 从缓存中取
                   if (booleans[0]) {
chapters.addAll(chapterDao.loadFromDb(context));
}
Log.d("zhy", "loadFromDb -> " + chapters);

if (chapters.isEmpty()) {
// 从网络获取
                       final List<Chapter> chaptersFromNet = loadFromNet(context);
// 缓存在数据库
                       chapterDao.insertToDb(context, chaptersFromNet);
Log.d("zhy", "loadFromNet -> " + chaptersFromNet);
chapters.addAll(chaptersFromNet);
}
} catch (final Exception e) {
e.printStackTrace();
ex = e;
}
return chapters;
}
};
asyncTask.execute(useCache);
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,这里并没有编译时的异常,老师为了逻辑更严谨加的try,catch。它可能出现网络异常,或者数据库读写异常等。

  • Charles_hzr 提问者 #1
    网络异常已经在loadFromNet里捕获了,它还能在这里捕获吗?
    2020-11-09 16:04:28
  • 好帮手慕雪 回复 提问者 Charles_hzr #2
    这里捕获的是 Exception。如果其它异常在对应的代码块里,catch匹配上了,那么这里就不用处理了。
    2020-11-09 16:21:32
  • Charles_hzr 提问者 回复 好帮手慕雪 #3
    哦,这里catch其实写不写应该没什么不同吧,没什么影响吧
    2020-11-09 16:23:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师