tailieunhanh - Những chủ đề tiến bộ trong C# Lỗi và xử lí biệt lệ - Phần 2

Giả sử rằng người sử dụng gõ 1 số mà không nằm giữa 0 và 5 . điều này được đón bởi câu lệnh if và 1 đối tượng IndexOutOfRangeExceptionsẽ được khởi tạo và lúc này máy tính sẽ ngay lập tức thoát khỏi khối try và tìm khối catch mà xử lí IndexOutOfRangeException. khối catch đầu tiên mà nó đến là khối này : catch (IndexOutOfRangeException e) { ( "Exception: Number should be between 0 and 5." + ); } . | Những chủ đề tiến bộ trong C Lỗi và xử lí biệt lệ - Phần 2 Giả sử rằng người sử dụng gõ 1 số mà không nằm giữa 0 và 5 . điều này được đón bởi câu lệnh if và 1 đối tượng IndexOutQỈRangeExceptionsẽ được khởi tạo và lúc này máy tính sẽ ngay lập tức thoát khỏi khối try và tìm khối catch mà xử lí IndexOutOfRangeException. khối catch đầu tiên mà nó đến là khối này catch IndexOutOfRangeException e Console .WriteLine Exception Number should be between 0 and 5. Bởi vì khối catch này lấy 1 thông số của một lớp tương đương điều này sẽ được truyền qua 1 thể hiện của biệt lệ và thực trường hợp này chúng ta trình bày 1 thông báo lỗi và thuộc tính đáp lại chuỗi mà chúng ta đã truyền đến hàm dựng của IndexOutOfRange .sau khi thực thi khối catch này điều khiển chuyển đến khối finally như là không có biệt lệ nào xuất hiện. Chú ý rằng chúng ta cũng cung cấp một khối catch khác catch Exception e An exception was thrown. Message was Khối catch này cũng có khả năng xử lý IndexOutOfRangeException nếu không có sự kiện rằng biệt lệ đã được đón bắt bởi khối catch trước- một sự tham chiếu đến 1 lớp cơ sở có thể cũng chuyển đến bất kỳ 1 thể hiện của mộ lớp dẫn xuất từ tất cả biệt lệ mà dẫn xuất từ . vậy tại sao khối catch này không được thực thi câu trả lời là máy tính chỉ thực thi khối catch thích hợp đầu tiên mà nó tìm thấy. vậy tại sao khối catch thứ hai này lại nằm ở đây thật ra thì không chỉ đoạn mã của ta mới được bao phủ bởi khối try mà bên trong khối chúng ta thực sự gọi những phương thức riêng biệt nhau trong namspace system and và bất kỳ phương thức nào trong đây cũng có thể ném ra một biệt lệ. Nếu chúng ta gõ một thứ gì không phải là số - say hoặc hello sau đó phương thức sẽ ném ra một biệt lệ của lớp để chỉ định chuỗi được truyền vào toin32 không nằm trong định dạng mà có thể chuyển thành kiểu int. khi

TỪ KHÓA LIÊN QUAN