可以捕获异常并抛出一个新的异常,它将第一个异常包装为内部异常:
http://msdn.microsoft.com/en-us/library/system.exception.innerexception(VS.71).aspx
另外,如果我调用一个函数并抛出某个错误,但我抓住它,调用代码的catch处理程序会执行吗?如果是这样,并且它是一个更高的异常类型,这不是包装异常吗?
例如,我可以抛出IndexOutOfRange类型的异常ex,记录它但重新抛出,捕获更高的异常并执行某些操作,或者我可以抛出一个新异常并包装一个内部异常,如:
抛出新的MyException(“some error”,ex.InnerException)
由于
答案 0 :(得分:1)
是的,你可以抛出一个包装第一个函数的异常
此外,如果我调用一个函数并抛出某个错误,但我抓住它,调用代码的catch处理程序是否会执行?
没有