Chia sẻ

Nội dung

Giới thiệu

Khi lập trình ứng dụng với C# sẽ xuất hiện nhiều tình huống chương trình xảy ra những ngoại lệ không mong muốn, hay những sự kiện đặc biệt khác khi chạy ứng dụng. Ngoại lệ chính là sự xuất hiện các điều kiện làm thay đổi quá trình thực thi ứng dụng, khiến cho ứng dụng hoạt động không như mong muốn ban đầu của lập trình viên.

Một số ngoại lệ thường xảy ra như: tràn bộ nhớ khi chạy ứng dụng, tệp không tồn tại, kết nối internet bị hủy đột ngột, v.v…. Những ngoại lệ này thường được gọi là Runtime Errors, nó xảy ra trong quá trình thực thi ứng dụng, hình ảnh báo khi có ngoại lệ như hình dưới đây.

c# exception

Trong C#, việc xử lý ngoại lệ là một phần cơ bản mà các lập trình viên cần phải thực hiện trước khi chạy ứng dụng. Để xử lý ngoại lệ trong C# ta sử dụng lớp Exception.

Cấu trúc câu lệnh

Để xử lý ngoại lệ thông thường ta sử dụng câu lệnh TryCatchFinally. Câu lệnh Try dùng để thực thi đoạn mã lệnh, câu lệnh Catch dùng để bắt và xử lý ngoại lệ, câu lệnh Finally dùng để làm sạch tài nguyên sau khi có ngoại lệ xảy ra. Cấu trúc câu lệnh như sau:

try
{
  //đoạn mã cần thực thi
}
Catch (exception type)
{
  //đoạn mã đón bắt lỗi
}

Khối lệnh finally được thực thi cả khi có ngoại lệ hay không có ngoại lệ. Nghĩa là khối lệnh này sẽ thực thi đoạn mã trong nó sau khi thực hiện khối lệnh Try hoặc khối lệnh Catch.

try
{
  //đoạn mã cần thực thi
}
Catch (exception type)
{
  //nếu có ngoại lệ
  //đoạn mã cần thực thi
}
finally
{
  //đoạn mã cần thực thi
}

Ví dụ đoạn mã dưới đây thực hiện chia cho số 0. Trên thực tế thì không thể chia cho 0, chính vì vậy đoạn lệnh trong khối lệnh Try sẽ xảy ra ngoại lệ.

try
{
    int val = 100;
    int div = 0;
    int resultVal;
    resultVal = (val / div);
    MessageBox.Show("Kết quả: " + resultVal);
}
catch (System.Exception  ex)
{
    MessageBox.Show("Bắt ngoại lệ ở đây - chi tiết: " + ex.ToString());
}
finally
{
    MessageBox.Show("Thực hiện khối lệnh Finally");
}

c# exception try catch finally

Mã ứng dụng

using System;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                int val = 100;
                int div = 0;
                int resultVal;
                resultVal = (val / div);
                MessageBox.Show("Kết quả: " + resultVal);
            }
            catch (System.Exception  ex)
            {
                MessageBox.Show("Bắt ngoại lệ ở đây - chi tiết: " + ex.ToString());
            }
            finally
            {
                MessageBox.Show("Thực hiện khối lệnh Finally");
            }
        }
    }
}

Kết luận

Như vậy, trên đây csharpcanban.com đã Hướng dẫn các cách bắt và xử lý ngoại lệ trên C#. Hãy thực hành ngay nhé các bạn. Hãy tham gia bình luận và trao đổi ở phía dưới, chúng tôi sẽ trả lời ngay và luôn để các bạn nắm được bài.

Xem thêm  [C#] Hướng dẫn chỉnh sửa và lưu thông tin trực tiếp vào Setting của ứng dụng

Trong các bài tiếp theo mình sẽ tiếp tục hướng dẫn các bạn sử dụng Microsoft Visual Studio C#, sử dụng các Control trong C#, đó là sử dụng Combobox, Listbox, Radio Button, và nhiều Control khác, hãy thường xuyên theo dõi website csharpcanban.com để cập nhật các bài học mới nhé các bạn.

Bản quyền

Nội dung trên csharpcanban.com được biên soạn, biên dịch từ nhiều nguồn khác nhau, đồng thời đã được viết thành chương trình chạy. Csharpcanban.Com bảo lưu mọi quyền đối với những bài viết này. Mọi hình thức sao chép đều cần phải được Csharpcanban.Com cấp phép.

ĐĂNG KÝ MUA HÀNG

    Email (*)

    Điện thoại (*)

    Tên sản phẩm/Dịch vụ:


    Chia sẻ

    Trả lời

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *