拋出RemoteExceptions時使用異常鏈接是不是一個好主意?我們有做這樣的事情的RMI服務器:用RMI鏈接異常的錯誤想法?
public Object doSomething() throws RemoteException
{
try
{
return getData();
}
catch (CustomException ex)
{
throw new RemoteException(ex);
}
}
我越來越引起了我的客戶一個ClassNotFoundException UnmarshallException。另外一方面,事實證明CustomException本身被導出。不幸的是,另一個異常內心深處,這傢伙不是出口,這是其中的ClassNotFoundException進來我想層次是這樣的:
的RemoteException - > CustomException - >的SQLException - > NotExportedException
這個問題我看到的是,即使我們可以保證導出CustomException,我們也不能保證有任何更低級別的異常。
我傾向於使用異常鏈接與RemoteExceptions因此。相反,我認爲我應該在服務器端記錄堆棧跟蹤,並拋出一個普通的,香草的RemoteException,並且沒有「cause」異常鏈接到它。有人以前處理過這種情況嗎?
的【什麼是鏈接異常的優勢(HTTP可能的複製(甚至你自己的「第一方」自定義異常!):// stackoverflow.com/questions/5020876/what-is-the-advantage-of-chained-exceptions) – Raedwald 2016-01-20 18:29:51