【问题标题】:Throw exceptions through several processes通过多个进程抛出异常
【发布时间】:2012-02-02 20:04:32
【问题描述】:

我在一个单独的进程中有远程服务,例如,在这个远程服务中,我正在调用一个方法,如果出现问题,它会抛出自定义运行时异常。 - 我想在 UI 中处理该异常。

但据我了解,我不能从一个进程向另一个进程抛出异常。 这种情况有什么解决办法?

更新: 我得到:

E/JavaBinder(1544): *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)

【问题讨论】:

  • 显示您的代码,还有 logcat 的详细信息以获取问题详细信息。
  • 问题是我抛出无法实现 Parcelable 接口的 CustomRuntimeException 所以我得到:01-01 00:49:24.997: W/System.err(1486): java.lang.NullPointerException 01- 01 00:49:25.017: W/System.err(1486): 在 android.os.Parcel.readException(Parcel.java:1240)

标签: android


【解决方案1】:

我认为你可以,但这并不容易。为此,您应该手动实现服务和活动之间的 IPC 通信。 IE。您应该创建一个扩展 IInterface 的接口。之后,您应该为此接口手动实现 Stub 和 Proxy 类。在这个类中你应该手动实现这个代理和存根类之间的通信(即在这里你可以在进程之间发送异常)。

我认为在您的情况下发送整数更容易。在活动中只需检查这个整数值。如果它等于预定义的值,您可以抛出自定义运行时异常。

【讨论】:

  • 我可以这样做:1)通过 Handler 吗? 2)通过回调?
  • 如果你在谈论传递一个简单的整数,你可以使用回调来做到这一点,例如。
猜你喜欢
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
相关资源
最近更新 更多