C # rethrow исключение без блока try-catch - PullRequest
1 голос
/ 17 мая 2019

Rethrow Exception без блока try-catch

Есть ли в C # какая-либо опция, как перебрасывать исключение без использования блока try-catch?

Пример из Java :

public static void SomeMethod()   throws FileNotFoundException{
    FileReader reader = new FileReader("java.pdf");
}

Ответы [ 2 ]

4 голосов
/ 17 мая 2019

Да, просто ничего не делай.Если нет блока try-catch, ваше исключение будет пузыриться в стеке вызовов, пока не найдет его.

Обратите внимание, что в C # нет проверенных исключений, поэтому это неявное поведение по умолчанию.

1 голос
/ 17 мая 2019

В отличие от Java в C # нам не нужно указывать исключения, которые можно вызвать в методе:

    public static void SomeMethod() {
      FileReader reader = new FileReader("java.pdf");
    }

Тем не менее, хорошая практика сообщать разработчику / пользователю, какие исключения могут быть выданы. Вы можете указать их с помощью документирования комментариев, см.

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/exception

для деталей:

/// <summary>
/// Performs Some Method
/// </summary>
/// <exception cref="System.IO.FileNotFoundException">Thrown when java.pdf not found</exception>
public static void SomeMethod() {
  FileReader reader = new FileReader("java.pdf");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...