我知道已经在this stackoverflow主题中讨论了一般问题(构造函数永远不会返回null
),但考虑到它在这个具体问题上的意义,我想知道官方的Android文档SoundPool
constructor 错误然后:
构造。返回 SoundPool对象,如果创建失败,则返回null
我之所以这样问,是因为我们谈论的是Android的官方文档已经存在多年(在SoundPool
的情况下)。
检查Android源代码,如果构造函数出错,SoundPool
会抛出RuntimeException
。 (2.3之前的Android甚至没有抛出异常。)也许文档试图表明如果捕获到异常,那么我打算存储对象引用的变量是否为空?在这种情况下,文档的措辞仍然很差。我错过了什么吗?
编辑:考虑到这可能不是一个内容丰富的问题(即使它可能有用 - 请参阅我的评论),一个简单的是或没有就足够了,然后线程可以关闭。我想确保我没有忽视任何事情。
答案 0 :(得分:1)
SoundPool
可能会在其构造函数中引发异常。你可以忽略它。他们特别选择抛出RuntimeException
(在2.3+上),而不是检查异常,这表明API设计者认为这是一个足以让应用程序崩溃的原因,而且不需要经常处理。所以没有,它不能返回null。但是如果你处理异常然后是,你对该对象的引用将是null
,因为构造函数没有完成。