try{
// 引起异常的语句
}catch( ExceptionName e1 ){
// 错误处理代码
}catch( ExceptionName e2 ){
// 错误处理代码
}
...
catch( ExceptionName eN ){
// 错误处理代码
}finally{
// 要执行的语句
}
using System; namespace task.lmcjl.com { class Demo { static void Main(string[] args) { try{ int a = 123; int b = 0; int x = a / b; }catch (Exception e) { Console.WriteLine("捕获到的异常:{0}", e); }finally{ Console.WriteLine("finally 语句块中的代码"); } Console.WriteLine("程序中的其它代码"); } } }运行结果如下:
捕获到的异常:System.DivideByZeroException: 尝试除以零。
在 task.lmcjl.com.Demo.Main(String[] args)
finally 语句块中的代码
程序中的其它代码
异常类 | 描述 |
---|---|
System.IO.IOException | 处理 I/O 错误 |
System.IndexOutOfRangeException | 处理当方法引用超出范围的数组索引时产生的错误 |
System.ArrayTypeMismatchException | 处理当数组类型不匹配时产生的错误 |
System.NullReferenceException | 处理引用一个空对象时产生的错误 |
System.DivideByZeroException | 处理当除以零时产生的错误 |
System.InvalidCastException | 处理在类型转换期间产生的错误 |
System.OutOfMemoryException | 处理空闲内存不足产生的错误 |
System.StackOverflowException | 处理栈溢出产生的错误 |
using System; namespace task.lmcjl.com { class Demo { static void Main(string[] args) { TestUserDefinedException test = new TestUserDefinedException(); try{ test.validate(12); }catch(InvalidAgeException e){ Console.WriteLine("InvalidAgeException: {0}", e); } Console.WriteLine("其它代码"); } } } public class InvalidAgeException : ApplicationException { public InvalidAgeException (string message): base(message) { } } public class TestUserDefinedException { public void validate(int age) { if(age < 18) { throw (new InvalidAgeException("Sorry, Age must be greater than 18")); } } }运行结果如下:
InvalidAgeException: InvalidAgeException: Sorry, Age must be greater than 18
在 TestUserDefinedException.validate(Int32 age)
在 task.lmcjl.com.Demo.Main(String[] args)
其它代码
catch(Exception e) {
...
Throw e
}
本文链接:http://task.lmcjl.com/news/18314.html