Ngoại lệ (Exception) là gì?

Ngoại lệ - Exception trong C# là những tình huống mà chương trình không thể thực hiện được lệnh theo yêu cầu.

Ví dụ:

Lớp Exception trong C#

Trong C# khi có một lỗi phát sinh hầu hết các lỗi đều có thể quản lý bởi thư viện C# thì nó sẽ phát sinh ra một đối tượng lớp Exeption(System.Exception) hoặc đối tượng lớp nào đó kế thừa từ Exception. Một số lớp con kế thừa từ lớp Exeption: System.ApplicationException, System.SystemException, v.v

Khi một đối tượng lớp Exceptionsinh ra - mà chương trình không chủ động xử lý đối tượng này thì chương trình sẽ kết thúc. Đối tượng lớp Exception chứa trong nó các thông tin về lỗi (dòng thông báo, nguyên nhân lỗi, nơi phát sinh lỗi ...).

Untitled

Ví dụ:

Untitled

Xử lý ngoại lệ (Exception Handling)

Để bắt ngoại lệ ta sử dụng câu lệnh try ... catch ... :

try
{
   // Các khối code được giám sát để bắt lỗi nếu có
   // Ngoại lệ này bắt lại được ở khối catch
}
catch( tên_ngoại_lệ e1 )
{
   // phần code để xử lý lỗi
}
catch( tên_ngoại_lệ e2 )
{
   // phần code để xử lý lỗi
}
catch( tên_ngoại_lệ eN )
{
   // phần code để xử lý lỗi
}
finally
{
   // các lệnh được thực thi
}

Ví dụ 1:

            try
            {
                string n = "mot";
                var number = int.Parse(n); // Dong nay phat sinh loi
                Console.WriteLine(number);
            }
            catch(Exception exception)
            {
                Console.WriteLine("Phat hien loi");
            }
            Console.WriteLine("Ket thuc chuong trinh");