程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#學習7:程序中的異常和錯誤處理

C#學習7:程序中的異常和錯誤處理

編輯:C#入門知識

使用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) 
            { 
                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("日期輸入不正確");  //手動拋出錯誤 
            } 
        } 
    } 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved