2012-02-02 63 views
0

我有一個獨立的進程中的遠程服務,在這個遠程服務中,例如,如果出現錯誤,我正在調用一個引發自定義運行時異常的方法。 - 我想在UI中處理這個異常。通過多個進程拋出異常

但據我所知,我不能將異常從一個進程拋出到另一個進程。 這種情況的解決方案是什麼?

更新: 我得到:

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

顯示您的代碼,以及logcat的詳細信息以獲取問題詳細信息。 – Arslan 2012-02-02 11:28:41

+1

問題是我拋出CustomRuntimeException,無法實現Parcelable接口,所以我得到: 01-01 00:49:24.997:W/System.err(1486):java.lang.NullPointerException 01-01 00:49 :25.017:W/System.err(1486):\t at android.os.Parcel.readException(Parcel.java:1240) – user1074896 2012-02-02 11:38:08

回答

1

我覺得你可以,但它也不是那麼容易。要做到這一點,您應該手動實現您的服務和活動之間的IPC通信。即你應該創建一個擴展IInterface的接口。之後,您應該手動實現此接口的存根和代理類。在這個類中,您應該手動實現此代理和存根類之間的通信(即,您可以在進程之間發送異常)。

我認爲在你的情況下發送實例整數更容易。並在活動只檢查這個整數值。如果它等於預定義值,則可以拋出自定義運行時異常。

+0

我可以這樣做: 1)通過Handler? 2)通過回調? – user1074896 2012-02-02 12:05:35

+0

如果你正在談論傳遞一個簡單的整數,你可以使用回調來做到這一點,例如。 – Yury 2012-02-02 12:33:53