C#_Try....Catch....Finally....的使用

try....catch....一般在寫程式的時候



我們常會遇到  一些寫了不太確定是否有問題、有例外的程式


所以這個時候就出現了  try  catch 來幫我們抓出問題


捨麼意思



假設我今天示範一個最常發生在陣列索引超過的情況














好  緊接著

這裡我突然故意  安插超出索引值的寫法




目前寫的code


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace try_catch_example1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string[] names = new string[2]; // names[0]  names[1]

            /*寫法一.要寫的多行些*/
            //names[0] = "這是我指派第0個索引的字串內容\n";
            //names[1] = "這是我指派第1個索引的字串內容";
            //string s1 = names[0];
            //string s2 = names[1];
            //MessageBox.Show(s1+s2);

            /*寫法二. loop  視窗一個一個跳*/
            ///*寫法二. loop  改寫成一次只跳出一個已經做好字串串接的結果*/
            string s = "";
            for (int i = 0; i < 2; i++)
            {
                names[i] = string.Format("這是我指派第{0}個索引字串內容\n", i);                             
                s += names[i+1];
            }             
            MessageBox.Show(s);
        }
    }
}



try catch 語法如下,finally區塊可省

try
{
//程式主執行區或可能發生錯誤的地方
}
catch (Exception ex)
{
//例外的處理方法,如秀出警告
}
finally
{
//不論是否發生例外事件都會執行的區塊
}







留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題