Можно перехватить исключение и создать новое исключение, которое оборачивает первое исключение как внутреннее исключение:
http://msdn.microsoft.com/en-us/library/system.exception.innerexception(VS.71).aspx
Кроме того, если я вызову функцию и она выдаст определенную ошибку, но я поймаю ее, выполнится ли обработчик вызова вызывающего кода? Если это так, и это более высокий тип исключения, не является ли это исключением исключения?
например, я могу выдать исключение ex типа IndexOutOfRange, записать его в журнал, но перебросить, перехватить исключение более высокого уровня и сделать что-нибудь, или я могу выдать новое исключение и обернуть внутреннее исключение, например:
выбросить новое MyException («некоторая ошибка», ex.InnerException)
Спасибо