.NET Framework 捕捉异常
示例
在特殊情况下,代码可以并且应该引发异常。例如:
尝试阅读流的末尾
没有访问文件的必要权限
尝试执行无效的操作,例如被零除
从Internet下载文件时发生超时
调用方可以通过“捕获”它们来处理这些异常,并且仅应在以下情况下进行:
它实际上可以解决特殊情况或适当恢复,或者;
它可以为异常提供其他上下文,如果需要重新抛出异常(重新抛出的异常由异常处理程序在调用堆栈中捕获)将很有用。
应该注意的是,如果要在更高层次上处理异常,则选择不捕获异常是完全有效的。
捕获异常是通过如下方式将潜在抛出的代码包装在一个try{...}块中,然后捕获其能够在catch(ExceptionType){...}块中处理的异常来完成的:
Console.Write("请输入文件名: "); string filename = Console.ReadLine(); Stream fileStream; try { fileStream = File.Open(filename); } catch (FileNotFoundException) { Console.WriteLine("File '{0}' could not be found.", filename); }