C# 中的异常捕捉(try)和异常处理(catch)
来源:互联网 发布:linux查看目录使用情况 编辑:程序博客网 时间:2024/06/11 19:46
为了捕捉异常,代码要放到一个 try 块中(try 是 C# 关键字)。代码运行时它会尝试执行 try 块内的所有语句。如果没有任何语句产生一个异常,这些语句将一个接一个运行,直到全部完成。然而,一旦出现异常,就会跳出 try 块,并进入一个 catch 处理程序中执行。
在try块后紧接着写一个或多个 catch 处理程序(catch 也是 C# 关键字),用它们处理任何发生的错误。每个 catch 处理程序都负责捕捉并处理一种特定类型的异常,你可以在一个 try 块后面写多个 catch 处理程序。try 块中的任何一个语句造成错误,“运行时”(runtime)都会生成并抛出一个异常。然后“运行时”将检查 try 块之后的 catch 处理程序,将控制权移交给一个匹配的处理程序。
catch 处理程序结束之后,程序将从处理程序之后的第一个语句继续执行。
下图是使用了 try 和 catch 的一个程序:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace TryAndCatch{ class Program { static void Main(string[] args) { try { int a; string b; Console.WriteLine("请输入一个整数: "); b = Console.ReadLine(); // ReadLine() 获取到的是 string 类型的数据 a = int.Parse(b); // int.Parse 方法将 string 类型转换 int 类型 } catch (Exception ex) // 这是一个常规的 catch 处理程序,能捕捉一切异常 { Console.WriteLine(ex); } } }}
由于 a 是 int 类型,所以要求输入的数据也要是 int 类型。此处输入 1.0,类型不符合,所以 try 块在此处会捕捉到一个 FornatException ( 格式异常 ),然后 catch 块会处理这个异常,在这里具体的做法就是输出错误信息。
运行后结果如下图所示:
将 try 和 catch 注释掉后代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace TryAndCatch{ class Program { static void Main(string[] args) { ////try ////{ int a; string b; Console.WriteLine("请输入一个整数: "); b = Console.ReadLine(); a = int.Parse(b); ////} ////catch (Exception ex) ////{ //// Console.WriteLine(ex); ////} } }}
由于没有进行异常捕捉和异常处理,所以运行后结果如下:
- C# 中的异常捕捉(try)和异常处理(catch)
- C# 中的异常捕捉(try)和异常处理(catch)
- c++中的异常捕捉:try和catch
- c++中的异常捕捉try和catch
- JS中的异常处理(try.catch)
- C++异常处理-----(try和catch)
- 捕捉异常try{}catch{}
- JavaScript中的try...catch和异常处理
- JavaScript中的try...catch和异常处理
- 异常----异常捕捉try&catch
- C#异常处理try catch
- try catch捕捉所有异常
- try-catch 捕捉不到异常
- try,catch,throw异常捕捉
- VB6 异常捕捉 Try catch
- JavaSE_43th_异常的捕获和处理(try-catch-finally)
- 异常处理开关:try{}catch(...){}
- try-catch-finally异常处理(一)
- 本篇将介绍在JNI编程中如何传递参数和返回值
- [整理]MD5加密源码C++
- 从RF、BB、AP、外设4个角度看手机的硬件性能
- 安装Ubuntu 11.04
- 算法题
- C# 中的异常捕捉(try)和异常处理(catch)
- 猛回头 一个华为次老员工中的华为人
- C/C++文件的操作--二进制文件读写
- 内核启动时无法切换终端的解决过程
- Cacti如何监控Tomcat
- 为列添加唯一性约束
- Keypress,KeyUp,KeyDown
- cacti监控tomcat总结 成功导入cacti监控tomcat模板
- FusionChartsFree 用法收集