首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android - try/catch问题

Android - try/catch问题
EN

Stack Overflow用户
提问于 2011-05-07 03:48:16
回答 3查看 1.7K关注 0票数 0

我在一个返回值的函数中有一个try/catch。如果一切顺利,try块中的return语句就可以正常工作。但是如果有异常,我该怎么办呢?在catch和and块中我应该返回什么?返回语句必须在那里,否则代码无法编译。

编辑:在一个函数中,我连接到一个URL,读取一个文件,然后返回一个字符串。在另一个函数中,我从互联网上打开一张图片并返回一个位图。所以在这两种情况下,我应该在catch和finally块的return语句中有什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-07 03:53:56

您返回的值应该能够表示错误,例如,null应该表示函数不工作。因此,在catch块中,该函数将返回null,例如。在finally块中,您应该释放您使用的任何资源(例如,关闭您打开的任何文件,等等)。

将这些东西放在finally块中是因为它可以保证在某个时候会运行,即使catch块中的代码抛出一个未处理的异常或任何东西。而且,如果函数按所需的方式工作,它也会运行。

票数 1
EN

Stack Overflow用户

发布于 2011-05-07 03:56:24

以下选项之一:

  • 向调用代码返回指示错误的特殊值。
  • 返回默认值(取决于您的上下文,可能没有正确的值)。
  • 不捕获异常,而是将throws添加到标头。
  • 捕获异常,执行清理,然后重新引发异常。<代码>H29<代码>F210

一般来说,函数可能会出错,这是无法回避的事实。必须通知调用代码这一点,或者函数必须有效地接受错误并假装没有发生任何糟糕的事情;这涉及到返回一些东西。具体情况取决于您的上下文...

票数 7
EN

Stack Overflow用户

发布于 2011-05-07 03:54:42

在try/catch块外部使用return null; this语句。如果一切正常,你的try代码块就会执行并返回,如果因为异常而失败,它就会被捕获,你会看到错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5916318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档