我有以下代码:如何从函数内检查异常的类型?
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