如何在C#中使用Java风格的抛出关键字?
2022-08-31 09:07:52
op 询问的是 Java 的 throws
子句的 C# 等效项,而不是关键字。这在 Java 中的方法签名中使用,以指示可以引发已检查的异常。throw
在 C# 中,没有 Java 检查异常的直接等效项。C# 没有等效的方法签名子句。
// Java - need to have throws clause if IOException not handled
public void readFile() throws java.io.IOException {
...not explicitly handling java.io.IOException...
}
翻译为
// C# - no equivalent of throws clause exceptions are unchecked
public void ReadFile()
{
...not explicitly handling System.IO.IOException...
}
在 Java 中,必须处理异常,或者将方法标记为可能使用关键字引发该异常的方法。throws
C#没有这个关键字或等效的关键字,就像在C#中一样,如果你不处理异常,它会冒泡,直到被抓住,或者如果没有被抓住,它将终止程序。
如果你想处理它,然后重新抛出,你可以执行以下操作:
try
{
// code that throws an exception
}
catch(ArgumentNullException ex)
{
// code that handles the exception
throw;
}