C#學習7

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.