我现在正在工作,并做c#。距离我们主要教授Java的单人课程还有一年的学习时间。
如果我要在Java中抛出一个已检查的异常,我会使用:
public void saveToFile(String fileName) throws IOException
C#中是否有类似的语法来执行此操作但是我自己的自定义异常?
由于
答案 0 :(得分:4)
在c#中,您没有声明函数可能抛出的异常。你声明一个函数:
public void saveToFile( string fileName ) {
....
}
抛出异常非常容易。有许多预定义的异常(例如System.IO.IOException),您可以抛出:
using System.IO
...
public void saveToFile(* string fileName ) {
...
throw new IOException( )
}
如果要抛出自定义异常,则必须声明它,并确保它派生自System.Exception类。异常类可以包含任何所需的构造函数,属性或成员。 e.g。
public class MyException :Exception
{
public int code { get; set; }
public MyException(int c) { code = c; }
}
然后,在您的代码中,您只需抛出一个实例:
...
throw new MyException( 666 );
答案 1 :(得分:0)
NOOP。您只需catch
和throw
。或者将其包装成新的例外throw
。
public void saveToFile(string fileName)
{
try
{
// your code
}
catch(Exception ex)
{
throw;
//or: throw new Exception("Whoops", ex);
}
}