Принципы объектно-ориентированного программирования

         

Повторная передача исключения



Повторная передача исключения

Случается, что метод, уловивший исключение и сделавший все, что он может в своем контексте, затем повторно передает (rethrow) исключение выше. Это легко реализовать с помощью ключевого слова throw:

using System;

class RethrowApp {


static public void MainQ

{

Rethrow rethrow = new RethrowO;

try {

rethrow.Foo(); }

catch(Exception e) {

Console.WriteLine(e.Message); } }

public void Foo() {

try {

Bar(); }

catch(Exception) {

// Обработка ошибки, throw; > }

public void Bar() {

throw new Exception("Передано от Rethrow.Bar"); }

}

В этом примере Main вызывает Foo, который вызывает Bar. Bar передает исключение, которое улавливает Foo. После этого Foo неким образом обрабатывает исключение и повторно передает его наверх методу Main с помощью ключевого слова throw.

 

Содержание раздела