Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn

Trong mục này, chúng ta sẽ học:

Xử lý ngoại lệ

Thực thi ngoại lệ người dùng định nghĩa

Thực thi luồng (threads)

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 1

Trang 1

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 2

Trang 2

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 3

Trang 3

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 4

Trang 4

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 5

Trang 5

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 6

Trang 6

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 7

Trang 7

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 8

Trang 8

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 9

Trang 9

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 28 trang Danh Thịnh 09/01/2024 900
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn

Bài giảng Ngôn ngữ lập trình nâng cao - Bài 6 - Lý Anh Tuấn
Slide 1 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
NGÔN NGỮ LẬP TRÌNH NÂNG CAO 
Slide 2 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Trong mục này, chúng ta sẽ học: 
Xử lý ngoại lệ 
Thực thi ngoại lệ người dùng định nghĩa 
Thực thi luồng (threads) 
Mục tiêu 
Slide 3 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Một vài dẫn xuất trong lớp System.Exception 
Nhắc lại 
Lớp Exception Miêu tả 
System.IO.IOException Xử lý lỗi I/O 
System.IndexOutOfRangeException Xử lý lỗi sinh ra khi một phương thức liên quan tới các thành phần 
của mảng mà vượt quá phạm vi của nó 
System.NullReferenceException Xử lý lỗi sinh ra trong quá trình xứ lý đối tượng rỗng (null) 
System.DivideByZeroException Xử lý lỗi sinh ra trong quá trình xử lý phép chia cho 0 
System.InvalidCastException Xử lý lỗi sinh ra trong quá trình ép kiểu 
System.OutOfMemoryException Xử lý khởi tạo bộ nhớ cho ứng dụng bị lỗi 
System.ArithmeticException Xử lý lỗi sinh ra trong các phép toán số học, ép kiểu và chuyển 
kiểu. 
System.InvalidCastException Xử lý lỗi khi ép kiểu lỗi 
System.ArgumentNullException Xử lý khi tham số có giá trị rỗng 
System.Data.DataException Xử lý lỗi khi sử dụng thành phần ADO.NET 
Slide 4 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Xử lý ngoại lệ 
Trong xử lý ngoại lệ, một ứng dụng được chia thành các 
khối mã. 
Một khối chỉ ra khả năng phát sinh lỗi trong nhiều xử lý 
ngoại lệ. 
Xử lý ngoại lệ sinh ra một cấu trúc điều khiển và cách thức 
chuẩn trong việc xử lý lỗi mức hệ thống và mức ứng dụng. 
Khối xử lý ngoại lệ có thể được thực thi sử dụng từ khóa: 
try 
catch 
finally 
 Chúng ta cùng tìm hiểu chi tiết về các từ khóa. 
Slide 5 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Xử lý ngoại lệ (tiếp) 
Khối try: 
Khối try bao quanh câu lệnh có thể phát sinh một ngoại lệ. Cú 
pháp khối try như sau: 
try 
{ 
//Các câu lệnh có thể phát sinh ngoại lệ 
} 
Khối try quản lý các câu lệnh bên trong nó và định nghĩa phạm 
vi xử lý ngoại lệ liên quan tới nó. 
Khối try phải có ít nhất một khối catch. 
Slide 6 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Xử lý ngoại lệ (tiếp) 
Khối catch: 
Câu lệnh catch của khối catch đưa ra một đối tượng của lớp 
ngoại lệ như một tham số, trong đó nó đề cập tới ngoại lệ phát 
sinh. 
Chúng ta có thể xử lý ngoại lệ liên quan tới khối try bằng 
cách cung cấp một hoặc nhiều khối xử lý catch, ngay sau 
khối try: 
try 
{ 
 //các câu lệnh có thể gây ra ngoại lệ 
} 
catch () 
{ 
 //Mã xử lý lỗi 
} 
Slide 7 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Xử lý ngoại lệ (tiếp) 
Khối finally: 
Khối finally được sử dụng để xử lý một tập câu lệnh trong 
đó một ngoại lệ được đưa ra hoặc không: 
try 
{ 
 //Câu lệnh có thể gây ra ngoại lệ 
} 
catch () 
{ 
 //Mã xử lý lỗi 
} 
finally 
{ 
 //Câu lệnh phải được xử lý. 
} 
Slide 8 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Ví dụ: Xử lý ngoại lệ 
Slide 9 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Vấn đề đưa ra: 
Duy đang làm việc trong một dự án trong đó anh phải tính toán 
tổng giá trị của mảng số nguyên. Duy cần xử lý ngoại lệ có thể 
xảy ra khi anh ấy làm việc với mảng. Nếu bất kỳ điều kiện 
ngoại lệ xảy ra khi Duy thực thi chương trình, ứng dụng cần 
hiển thị thông tin về ngoại lệ tương ứng. 
 Hãy giúp Duy xử lý các ngoại lệ này. 
Ví dụ: Xử lý ngoại lệ cho mảng 
Slide 10 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Vấn đề đưa ra: 
Hoàng đang làm việc trong một dự án của công ty FPT 
Software, trong đó anh phải viết chương trình tìm kiếm thông 
tin nhân viên dựa vào mã nhân viên của họ. Hoàng cần xử lý 
ngoại lệ khi không tìm thấy nhân viên tương ứng. 
 Hãy giúp Hoàng xử lý các ngoại lệ này. 
Ví dụ: Quản lý sinh viên 
Slide 11 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Thực thi ngoại lệ người dùng định nghĩa 
Trong C#, chúng ta có thể tạo các lớp ngoại lệ riêng. Những 
ngoại lệ như vậy được biết tới như là ngoại lê người dùng 
định nghĩa. 
Lớp Exception là lớp cơ sở cho tất cả ngoại lệ trong C#. 
Ngoại lệ người dùng định nghĩa phải được kế thừa hoặc từ 
lớp ngoại lệ hoặc từ lớp kế thừa chuẩn. 
Slide 12 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Thực thi ngoại lệ người dùng định nghĩa (tiếp) 
Các lớp ngoại lệ người dùng định nghĩa được dẫn xuất từ 
lớp ApplicationException. 
Để thực thi ngoại lệ người dùng định nghĩa, chúng ta cần: 
Phát sinh ngoại lệ: Chúng ta có thể sử dụng câu lệnh throw để 
phát sinh các ngoại lệ. 
Ném (Throw) một đối tượng: Chúng ta có thể ném một đối 
tượng nếu đối tượng hoặc là trực tiếp hoặc là dẫn xuất gián 
tiếp từ System.Exception. Chúng ta có thể sử dụng câu 
lệnh throw trong khối catch để ném một đối tượng như đoạn 
mã sau: 
 catch(Exception caught) 
{ 
 . . . 
 throw caught 
} 
Slide 13 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Một thread được định nghĩa như quá trình xử lý một 
chương trình. 
Chúng ta có thể định nghĩa một luồng duy nhất để điều 
khiển trong chương trình, sử dụng thread. 
Threads được sử dụng để chạy các ứng dụng thực thi tính 
toán lớn và phức tạp. 
Quá trình được xử lý sử dụng một thread được biết đến là 
quá trình thread đơn (single-threaded) trong đó quá trình 
một thể hiện chương trình đang chạy. 
Ứng dụng single-threaded chỉ thực thi một ứng dụng tại một 
thời điểm. Chúng ta phải đợi một nhiệm vụ hoàn thành 
trước khi thực thi nhiệm vụ khác. 
Thực thi luồng (Thread) 
Slide 14 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Hình sau miêu tả quá trình xử lý của single-threaded. 
Để xử lý nhiều hơn một nhiệm vụ cùng một thời điểm, 
chúng ta có thể tạo nhiều threads trong một chương trình. 
Quá trình tạo hai hoặc nhiều threads được gọi là đa luồng 
(multithreaded). 
Thực thi luồng (Thread) 
Slide 15 of 21 Ver. 1.0 
Object-Oriented Programming Using C# 
Thực thi luồng (Thread) 
Hình sau miêu tả quá trình xử lý multithreaded

File đính kèm:

  • pdfbai_giang_ngon_ngu_lap_trinh_nang_cao_bai_6_ly_anh_tuan.pdf