C#学习7

来源:互联网 发布:燕山大学 双一流 知乎 编辑:程序博客网 时间:2024/06/13 21:32

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);            }        }    }}

checkedunchecked检查整型算术运算是否溢出

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);        }    }}

trycatchfinally是很常用的语法结构,用来控制可能发生异常时的程序流程,其中catchfinally至少要有一个,如果在try块中有returnfinally仍会执行

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 name = dayName(number);                Console.WriteLine(name);            }            catch (ArgumentOutOfRangeException ex)            {                Console.WriteLine(ex.Message);            }            finally               {                Console.WriteLine("程序结束");            }        }        static string dayName(int number)        {            switch (number)            {                case 1:                    return "星期一";                case 2:                    return "星期二";                case 3:                    return "星期三";                case 4:                    return "星期四";                case 5:                    return "星期五";                case 6:                    return "星期六";                case 7:                    return "星期日";                default:                    throw new ArgumentOutOfRangeException("日期输入不正确");  //手动抛出错误            }        }    }}





原创粉丝点击