Mục lục:
Định nghĩa - Catch Block có nghĩa là gì?
Khối bắt, trong C #, là một khối mã tùy chọn được thực thi khi có ngoại lệ được đưa ra.
Khối bắt là một phần cụ thể của cấu trúc xử lý đặc biệt và được triển khai bằng từ khóa "bắt" kết hợp với từ khóa "thử" và "cuối cùng" và tạo thành phương tiện để thực hiện xử lý ngoại lệ có cấu trúc. Một khối thử bao gồm mã được bảo vệ có thể gây ra ngoại lệ. Nó kèm theo các tuyên bố xử lý các trường hợp đặc biệt và hoạt động để phục hồi từ các điều kiện bất ngờ như vậy.
Bắt khối tạo thành phương tiện để xử lý ngoại lệ. Nếu những điều này không được xử lý, điều này có thể dẫn đến việc chấm dứt toàn bộ chương trình bởi thời gian chạy .NET. Một khối bắt có thể được sử dụng để xử lý bất kỳ hoặc ngoại lệ cụ thể.
Techopedia giải thích Catch Block
Mô hình xử lý ngoại lệ của Common Language Runtime (CLR) cho phép nhiều hơn một khối bắt, mỗi khối được thiết kế để xử lý một ngoại lệ cụ thể. Bất cứ khi nào có ngoại lệ xảy ra, CLR sẽ tìm khối bắt xử lý ngoại lệ đó. Nếu phương thức hiện đang thực thi không chứa một khối như vậy, CLR sẽ tìm kiếm nó trong phương thức gọi phương thức hiện tại lên ngăn xếp cuộc gọi. Nếu không có mệnh đề phù hợp nào được tìm thấy cho ngoại lệ đó trong toàn bộ mã, việc thực thi luồng sẽ bị dừng và một thông báo ngoại lệ chưa được xử lý được hiển thị cho người dùng.
Sau đây là một số mẹo liên quan đến việc sử dụng khối bắt:
- Loại ngoại lệ chỉ được chỉ định cho khối bắt sau khi lý do đằng sau sự xuất hiện của các ngoại lệ cụ thể không thể khắc phục (như lỗi hệ thống thảm khốc, lạm dụng API, v.v.) đã được xác định và việc khôi phục đã được thực hiện mà không để ứng dụng không nhất quán hoặc Nhà nước không hợp lệ.
- Khối bắt phải được định vị sao cho các ngoại lệ cụ thể hơn phải được bắt trước các khối ít cụ thể hơn.
- Bắt khối không có tham số được gọi là "ngoại lệ ăn uống" bởi vì điều này có thể ngăn chặn các vấn đề nghiêm trọng khó gỡ lỗi.
- Khối bắt có thể được tập trung để nó có thể xử lý ngoại lệ từ một vị trí trung tâm.
- Câu lệnh "throw" có thể được sử dụng trong khối bắt mà đối tượng ngoại lệ tương tự được ném có thể được truyền lại trong khi tải lại.
- Các biến được khai báo trong một khối thử không thể được sử dụng bên ngoài nó.
- Mã sẽ không tiếp tục trở lại khối thử sau khi khối bắt được thực thi.
- Kiểm tra mã xử lý ngoại lệ trong khối bắt là điều cần thiết để tránh phá vỡ ứng dụng.
- Bắt khối không nên được sử dụng cho mã dọn dẹp.
- Khối bắt không có tham số không thể được sử dụng để xử lý các ngoại lệ không tuân thủ hệ thống ngôn ngữ chung (những trường hợp không xuất phát từ System.Exception).
