2014-03-04 79 views
1

我正在为网络协议设计一个API,在解析返回的JSON时,我可能会遇到一些例外情况。在处理“常规”编程时,我会抛出异常,但是我的API是异步的并且基于回调。这意味着抛出异常是不可能的。抛出Android的异步异常

我目前的解决方案是在解析回调时传递捕获异常,但是我认为这不是在Java/Android中使用异常的正确方法。

我还有其他的替代方案吗?

回答

0

Dario Crivelli最近发布了一个巧妙的解决方案,称为异步自上而下链模式

该文章可用here

这是抽象:

层次异常处理和静态异常检查是由Java语言提供的最显著的特点之中;但是,它们的支持仅限于程序代码,并且只能在函数调用的层次结构中使用。因此,在涉及事件驱动编程或异步编程方面,没有什么可以帮助我们,其中工作分散在许多彼此独立的函数中。这在某些体系结构中尤其令人沮丧,其中逻辑设计严格分层,控制流实际上是顺序的,但涉及异步API调用。 本文涉及后一种情况;我们展示了如何通过编写遵循特定模式并依赖于合适的支持库的代码,实现分层异常处理和静态异常检查的好处。