当前位置:编程学习 > C#/ASP.NET >>

C#学习7:程序中的异常和错误处理

使用try,catch语句处理异常

[csharp] 
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检查整型算术运算是否溢出


[csharp] 
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仍会执行


[csharp] 
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) 
            { 
 &nb

补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,