我有以下代碼:如何從函數內檢查異常的類型?
catch (ServiceException e) { se(e); return View("CreateEdit", vm); }
catch (Exception e) { ex(e); return View("CreateEdit", vm); }
return RedirectToAction("ShowSummary", new {
ds = vm.Meta.DataSourceID
});
protected void se(ServiceException e) {
ModelState.Merge(e.Errors);
}
protected void ex(Exception e) {
Trace.Write(e);
ModelState.AddModelError("", "Database access error: " + e.Message);
}
我想改變這類似:
catch (Exception e) { processException(e); return View("CreateEdit", vm); }
有沒有辦法,我可以將代碼添加到processException功能的方式,將能夠 檢查它是什麼樣的異常,然後根據它是否是ServiceException 或只是一般異常來執行操作?我只是想把我所有的異常處理放在一個地方 然後調用它。
我會同意'是'是問題情況最簡單的方法。如果他們很多,交換機會更好。 – 2011-12-20 05:27:42