Bài giảng Lập trình hướng đối tượng: Chương 9 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
lượt xem 3
download
Bài giảng Lập trình hướng đối tượng: Chương 9 Xử lý ngoại lệ, cung cấp cho người đọc những kiến thức như: Khái niệm ngoại lệ (exception); Cơ chế hoạt động của Exception handling; Bắt exception (catching exception); Ném ngoại lệ (Throwing exception);...Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 9 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
- CHƯƠNG 9: Click to edit Master subtitle style XỬ LÝ NGOẠI LỆ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1
- NỘI DUNG Khái niệm ngoại lệ (exception) Cơ chế hoạt động của Exception handling Bắt exception (catching exception) Cấu trúc khối lệnh try – catch Cấu trúc khối lệnh có nhiều mệnh đề catch Ném ngoại lệ (Throwing exception) Từ khóa finally Tóm tắt 2
- KHÁI NIỆM NGOẠI LỆ (EXCEPTION)
- Khái niệm ngoại lệ (exception) Ngoại lệ (exception) là đối tượng chứa các thông tin về lỗi (error condition) hoặc các sự cố bất thường (unexpected behavior) khi thực thi chương trình. Ngoại lệ xuất phát từ: Lỗi trong code lập trình Lỗi gây ra bởi người dùng (người dùng nhập một con số thay vì phải nhập các ký tự chữ cái,…) Lỗi từ hệ điều hành (hết tài nguyên bộ nhớ, …) 4
- Khái niệm ngoại lệ (exception) Ví dụ: public int GetNumber(int min, int max) Người dùng { nhập vào một int number=0; số nguyên ? while (number < min || number>max) { Console.Write(“Enter a number between {0} and {1}: ”, min, max); string input = Console.ReadLine(); number = Convert.ToInt32(input); } return number; } 5
- Khái niệm ngoại lệ (exception) Ví dụ: public int GetNumber(int min, int max) Người dùng { nhập vào các int number=0; ký tự: asdf ? while (number < min || number>max) { Console.Write(“Enter a number between {0} and {1}: ”, min, max); string input = Console.ReadLine(); number = Convert.ToInt32(input); } return number; } Lỗi (exception) Xử lý lỗi như thế nào? 6
- Khái niệm ngoại lệ (exception) Trình quản lý ngoại lệ (Exception handling): là cơ chế của C# để bắt những lỗi khi chương trình đang thực thi 7
- CƠ CHẾ HOẠT ĐỘNG CỦA EXCEPTION HANDLING
- Cơ chế hoạt động của Exception handling Tạo đối Lỗi tượng Ném Bắt (throw) xuất exception exception (catch) và chứa thông xử lý lỗi hiện tin lỗi Ném đối tượng Phương thức biết exception này đến phương thức gọi nó, cách xử lý thì bắt phần code sau đó exception này không được thực thi. (catch) 9
- BẮT EXCEPTION (CATCHING EXCEPTION)
- Bắt exception (catching exception) Trước khi bắt exception, chúng ta phải biết Xác định lỗi sẽ xuất hiện tại lệnh nào • Đưa đoạn code sẽ gây ra lỗi (exception) vào trong khối lệnh try Chúng ta sẽ làm gì với lỗi đó • Lệnh bắt (catch) và xử lý lỗi trong khối lệnh catch 11
- Bắt exception (catching exception) Ví dụ: public int GetNumber(int min, int max) Đoạn code có { thể gây ra lỗi int number=0; (exception) while (number < min || number>max) { Console.Write(“Enter a number between {0} and {1}: ”, min,max); string input = Console.ReadLine(); number = Convert.ToInt32(input); } return number; } 12
- Bắt exception (catching exception) public int GetNumber(int min, int max) { Đưa đoạn int number=0; code có thể while (number < min || number>max) gây ra lỗi vào { khối lệnh try try { Console.Write(“Enter a number between {0} and {1}: ”, min, max); string input = Console.ReadLine(); Xử lý lỗi number = Convert.ToInt32(input); không khối } catch (Exception e) lệnh catch { Console.WriteLine(“This is not a valid number. Try again.”); } } } 13
- Bắt exception (catching exception) Cấu trúc khối lệnh try – catch Cấu trúc khối lệnh có nhiều mệnh đề catch 14
- Bắt exception (catching exception) Cấu trúc khối lệnh try – catch Cấu trúc khối lệnh có nhiều mệnh đề catch 15
- Cấu trúc khối lệnh try - catch Giải thích Khối try chứa đoạn mã có thể sinh lỗi Khối catch: Xác định exception và làm sao xử lý lỗi Thông tin lỗi: Nằm trong đối tượng tên e (nếu chúng ta không dùng e thì có thể bỏ) try { } catch (Exception e) { } 16
- Cấu trúc khối lệnh try - catch Thuộc tính của lớp Exception Message : mô tả lỗi Source : get/set nguồn gây ra lỗi (từ thư viện lỗi) StackTrace : Tra cứu nguồn gốc gây ra lỗi TargetSite: phương thức gây ra lỗi 17
- Bắt exception (catching exception) Cấu trúc khối lệnh try – catch Cấu trúc khối lệnh có nhiều mệnh đề catch 18
- Cấu trúc khối lệnh có nhiều mệnh đề catch Bắt nhiều exception khác nhau try { string input = “a”; int number = Convert.ToInt32(input) } catch (FormatException e) { Console.WriteLine(“You must enter a number.”); } catch (OverflowException e) { Console.WriteLine(“Enter a smaller number.”); } catch (Exception e) { Console.WriteLine(“An unknown error occurred.”); } 19
- Cấu trúc khối lệnh có nhiều mệnh đề catch Ghi chú: Khi một khối lệnh catch được thực thi, nó sẽ bỏ qua các khối lệnh catch còn lại Thứ tự các khối lệnh catch rất quan trọng • Các kiểu ngoại lệ cụ thể (các lớp dẫn xuất) phải xếp trước các kiểu ngoại lệ tổng quát (lớp cơ sở) Câu lệnh sẽ ra sao nếu khối lệnh catch (Exception e) xếp trước catch (FormatException e) và catch (OverflowException e) ? 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 140 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 87 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 100 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 104 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 16 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn