C# 的异常处理
C# 异常处理使用以下几个statements
throw: Raise an exception,写自己的异常事件
try: 正常程序,捕捉异常
catch:捕捉并处理异常
finally: 无论异常发生与否,该程序段都运行。
例1:编制自己的异常事件
void func(System.IO.Stream stream)
{
if (!stream.CanWrite())//异常事件发生的条件
{
throw new MyException(); //产生异常事件
}
//do something here
stream.Write(data);
}
例2:异常的捕捉:
System.IO.Stream myStream;
try {
myStream = file.getStream();
func (myStream);
}
catch(MyException e) //第一个参数是异常的名字,第二个是异常返回值。
{
System.Console.WriteLine("Something wrong {0}", e); //打印异常返回信息
}
catch(System.Exception se) //捕捉任何系统异常
{
System.Console.WriteLine("Something else wrong {0}", se); //打印异常返回信息
throw;//不做处理,只是重新发出异常
}
finally {
myStream.Close();//做些清理工作
}
throw: Raise an exception,写自己的异常事件
try: 正常程序,捕捉异常
catch:捕捉并处理异常
finally: 无论异常发生与否,该程序段都运行。
例1:编制自己的异常事件
void func(System.IO.Stream stream)
{
if (!stream.CanWrite())//异常事件发生的条件
{
throw new MyException(); //产生异常事件
}
//do something here
stream.Write(data);
}
例2:异常的捕捉:
System.IO.Stream myStream;
try {
myStream = file.getStream();
func (myStream);
}
catch(MyException e) //第一个参数是异常的名字,第二个是异常返回值。
{
System.Console.WriteLine("Something wrong {0}", e); //打印异常返回信息
}
catch(System.Exception se) //捕捉任何系统异常
{
System.Console.WriteLine("Something else wrong {0}", se); //打印异常返回信息
throw;//不做处理,只是重新发出异常
}
finally {
myStream.Close();//做些清理工作
}
浙公网安备 33010602011771号