日期:2014-05-17  浏览次数:21051 次

C#学习7

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