C#中是否有任何选项可以在不使用try-catch块的情况下重新引发异常?
Java 中的示例:
public static void SomeMethod() throws FileNotFoundException{
FileReader reader = new FileReader("java.pdf");
}
答案 0 :(得分:4)
是的,什么都不做。如果没有try-catch块,则异常将使调用堆栈冒泡,直到找到一个为止。
请注意,C#中没有检查过的异常,因此这是默认的隐式行为。
答案 1 :(得分:1)
与 C#中的 Java 不同,我们不必指定可以在方法中抛出的异常:
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");
}