日期:2014-05-17 浏览次数:21090 次
C#学习7:程序中的异常和错误处理
使用try,catch语句处理异常
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace cam { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { try { int num1 = int.Parse(txtNum1.Text); int num2 = int.Parse(txtNum2.Text); int result = num1 + num2; txtResult.Text = result.ToString(); } catch (FormatException cam) //格式错误 { MessageBox.Show(cam.Message); } catch (OverflowException cam) //数据溢出 { MessageBox.Show(cam.Message); } catch (Exception cam) { MessageBox.Show(cam.Message); } } } }
用checked和unchecked检查整型算术运算是否溢出
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace com { class Program { static void Main(string[] args) { int number = int.MaxValue; Console.WriteLine(number); try { checked { number++; } } catch (Exception cam) { Console.WriteLine(cam.Message); } Console.WriteLine(number); } } }
try,catch,finally是很常用的语法结构,用来控制可能发生异常时的程序流程,其中catch和finally至少要有一个,如果在try块中有return,finally仍会执行
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace com { class Program { static void Main(string[] args) { int number = int.Parse(Console.ReadLine()); try { string