Ngoại lệ c ++
Xử lý ngoại lệ(Exception) giúp ứng dụng, chương trình của bạn tránh được những sự cố, lỗi khi thực thi chương trình. Trong C# cung cấp, hỗ trợ việc sử dụng ngoại lệ thông qua các khối lệnh try, catch, finally. Hãy cùng mình tìm hiểu cách sử lý ngoại lệ qua bài viết này nhé Show Nội dung bài viết
Ngoại lệ Exception is anythingNgoại lệ (hay ngoại lệ) là một vấn đề – phát sinh lỗi khi chương trình được thực thi. Thông thường khi ứng dụng, chương trình đang chạy mà phát sinh ngoại lệ (lỗi) sẽ dẫn đến chương trình bị kết thúc (dừng lại) ngay lập tức. Có rất nhiều nguyên nhân dẫn đến công việc mà chương trình đang chạy mà phát sinh ngoại lệ, ví dụ như
Ở trong C# khi có một lỗi(Exeption ) phát sinh thì 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 lớp đối tượng Exeption (System. System) hay là một lớp đối tượng nào kế thừa từ Exception Xử lý ngoại lệ (Xử lý ngoại lệ) trong C# được xây dựng dựa trên 4 từ khóa đó là. thử, bắt, cuối cùng và ném
cú phápVí dụ ta có một khối tạo một Exeption và một phương thức bắt một ngoại lệ bằng cách sử dụng kết hợp các từ khóa try và catch. Ta đặt một khối try/catch xung quanh mã mà có thể xảy ra một ngoại lệ Mã ở bên trong một khối try/catch được xem như là mã được bảo vệ, và cú pháp để sử dụng try/catch ở trong C# ta viết như sau try{ // những lệnh có thể gây ra ngoại lệ (exception) }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} Nếu như ngoại lệ (lỗi thực thi) phát sinh mà chúng ta không xử lý thì chương trình sẽ dừng đột ngột. Nếu muốn xử lý ngoại lệ(lỗi), chúng ta cần bắt lấy nó và điều hướng chương trình theo một cách thích hợp Đối tượng lớp ngoại lệ trong C# có một số thuộc tính, tiện dụng cho bạn giải quyết rắc rối đó là
Bạn có thể sử dụng nhiều lệnh bắt để bắt các loại ngoại lệ khác nhau tùy chọn trong từng trường hợp khối thử của bạn xuất hiện nhiều hơn một ngoại lệ và trong các tình huống khác nhau cách xử lý ngoại lệ
Thực hiện bắt lỗistatic void Main(string[] args) { try { // khối này được giám sát để bắt lỗi - khi nó phát sinh int[] mynumbers = new int[] {1,2,3}; int i = mynumbers[10]; // dòng này phát sinh lỗi Console.WriteLine(i); // dòng này không được thực thi vì lỗi trên } catch (Exception loi) { // khối này thực thi khi bắt được lỗi Console.WriteLine("Có lỗi rồi"); Console.WriteLine(loi.Message); } } Có lỗi rồi Chỉ mục nằm ngoài giới hạn của mảng Lớp ngoại lệ trong C# là gìCác ngoại lệ trong C# sẽ được biểu diễn bởi các lớp. Các lớp ngoại lệ trong C# chủ yếu sẽ được kế thừa theo cách trực tiếp hoặc không trực tiếp từ Hệ thống lớp. Ngoại lệ trong C#. Một số lớp Ngoại lệ khác kế thừa từ lớp Hệ thống. Ngoại lệ là các lớp Hệ thống. ApplicationException và Hệ thống. ngoại lệ hệ thống Lớp Hệ thống. ApplicationException nó hỗ trợ các ngoại lệ được tạo bởi các chương trình ứng dụng. Vì vậy, những ngoại lệ được định nghĩa bởi lập trình viên nên kế thừa từ lớp này Lớp Hệ thống. SystemException đây là lớp cơ sở cho tất cả ngoại lệ hệ thống tiền định nghĩa Một số lớp ngoại lệ tiền định nghĩa được kế thừa từ lớp Sytem. SystemException trong C# Class ExceptionMô tảSystem. IO. IOExceptionXử lý các I/O errorSystem. IndexOutOfRangeExceptionXử lý các lỗi được tạo khi một tham chiếu tham chiếu phương thức tới một mục bên ngoài dãy anar. Hệ thống. ArrayTypeMismatchExceptionXử lý các lỗi được tạo khi kiểu không phù hợp với kiểu mảng. Hệ thống. NullReferenceExceptionXử lý các lỗi được tạo từ việc tham chiếu một đối tượng null. Hệ thống. DivideByZeroExceptionXử lý các lỗi được tạo khi chia cho số 0. Hệ thống. InvalidCastExceptionXử lý lỗi được tạo trong khi ép kiểu. Hệ thống. OutOfMemoryExceptionXử lý lỗi được tạo ra từ việc thiếu bộ nhớ phụ. Hệ thống. StackOverflowExceptionXử lý lỗi được tạo từ ngăn xếp ngăn xếp (stack) Ném (ném) các đối tượng trong C#Bạn có thể thực hiện ném một đối tượng nếu nó. hoặc là trực tiếp hoặc gián tiếp được kế thừa từ Lớp Hệ thống. Ngoại lệ trong C#. Bạn có thể sử dụng lệnh ném trong khối bắt để ném đối tượng hiện diện đó Catch(Exception e) { ... Throw e } Một số điểm cần lưu ý về xử lý Try/Catch trong C#
Cảm ơn các bạn đã xem bài viết của mình về try catch c#. Mong nhận được sự đóng góp ý kiến từ các bạn để bài viết được hoàn thiện hơn |