Lập trình windows C# - Chương 10
Số trang: 20
Loại file: ppt
Dung lượng: 294.50 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu lập trình windows c# - chương 10, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Lập trình windows C# - Chương 10Xử lý ngoại lệ lý Nguyễn Văn PhongNội dung Tình huống phát sinh ngoại lệ Cách xử lý ngoại lệ làm việc trong C# Câu lệnh try-catch-finallyTình huốngTình Những lỗi phát sinh khi rutime có th ể làm hư hại chương trình Không phải lỗi lập trình VD: một số tình huống viết dữ liệu vào file Đĩa bị đầy Lỗi phần cứng File bị thay đổi thành chỉ đọc … Cách xử lý trước đâyCáchGETAFILENAMEOPENTHEFILEIFTHEREISNOERROROPENINGTHEFILE READSOMEDATA IFTHEREISNOERRORREADINGTHEDATA PROCESSTHEDATA WRITETHEDATA IFTHEREISNOERRORWRITINGTHEDATA CLOSETHEFILE IFTHEREISNOERRORCLOSINGFILE RETURN Hầu hết các bước có khả năng thất bại Khó xác định chính xác lỗi từ những thông tin trả về của hàm thư viện Đoạn code phải thực hiện rồi mới biết lỗiCách xử lý ExceptionCách TRYTODOTHESETHINGS: GETAFILENAME OPENTHEFILE READSOMEDATA PROCESSTHEDATA WRITETHEDATA CLOSETHEFILE RETURN IFERROROPENINGTHEFILETHEN... IFERRORREADINGTHEDATATHEN... IFERRORWRITINGTHEDATATHEN... IFERRORCLOSINGTHEFILETHEN... Đoạn code xử lý ngắn gọn, dễ đọc Logic chương trình hợp lý hơn, những đoạn nghi ngờ có lỗi nằm trong vùng Try Cho phép xử lý tình huống lỗi rõ ràng và đơn giảnCác đối tượng ExceptionCác Trong C#, khi runtime error xuất hiện CLR sẽ xác định lỗi và phát sinh ta đối tượng Exception Đối tượng Exception này được ném trở lại stack chờ cho một phương thức bắt lỗi đó. Nếu Exception này không được chương trình “catch” thì CRL sẽ in ra thông điệp lỗiMô hình gọi – xử lý ExceptionMô CLR Runtime Method Calls Travel The Main( ) Down method Exceptions First Method Passed Up Exception Thrown HereSử dụng try-catch Dùng Try-catch để xử lý ngoại lệ Đặt code có khả năng dẫn đến ngoại lệ vào khối “try” Cung cấp các khối “catch” theo sau “try” Có thể cung cấp tất cả catch cho các lỗi nếu muốn xử lý, bằng cách sử dụng các lớp exception thích hợp Nếu không cung cấp catch cho một ngoại lệ, thì exception này đượn lan truyền lên trên.Cú pháp Try-CatchCú Code có khả năng dẫn đến lỗi try { Tham số exception RiskyBussiness(); được catch } catch (SomeException e ) Đoạn xử lý với { tình huống có lỗi // Handle code }Khối tryKh Bao gồm các phần Từ khóa try Theo sau khối “{…}” Khối “{…}” bắt buộc phải có, khác với “{…}” trong if hay for Bên trong khối try Đặt bất cứ câu lệnh nào có khả năng phát sinh ra ngoại lệKhối catchKh Đặt một hay nhiều ngay sau khối try Không có lệnh nào chen giữa hai khối catch của một try Cú pháp khối catch như sau catch (Exception-class [var1]) { // xử lý ngoại lệ 1 } catch (Exception-class [var2]) { // xử lý ngoại lệ 2 }Ví dụ try-catchVíChương trình bị terminate Chương trình kết thúc bình thườngSử dụng Finally Khi một exception được ném ra Luồng thực thi sẽ nhảy vào khối catch xử lý nó. Một số đoạn code giải phóng tài nguyên có thể bị bỏ qua Open File // ngoại lệ được phát sinh Read Data // đoạn code này bị bỏ qua, dù file chưa đóng Close File Khối try-catch có phần option là finally Luôn luôn được gọi Sử dụng để dọn dẹp các tài nguyên đang nắm giữVD có try-catch-finallyVD Luôn thực thi dù có hay không có ngoại lệLệnh throw Cho phép ném ra một ngoại lệ Cú pháp: throw exception_object Phát sinh ra ngoại lệLớp Exception Có 2 loại ngoại lệ Ngoại lệ phát sinh bởi chương trình Ngoại lệ được tạo bởi CLR Lớp System.Exception là cơ sở cho tất cả lớp trong C# 2 lớp kế thừa từ lớp này: ApplicationException: thường làm lớp cơ bản cho lớp ngo ...
Nội dung trích xuất từ tài liệu:
Lập trình windows C# - Chương 10Xử lý ngoại lệ lý Nguyễn Văn PhongNội dung Tình huống phát sinh ngoại lệ Cách xử lý ngoại lệ làm việc trong C# Câu lệnh try-catch-finallyTình huốngTình Những lỗi phát sinh khi rutime có th ể làm hư hại chương trình Không phải lỗi lập trình VD: một số tình huống viết dữ liệu vào file Đĩa bị đầy Lỗi phần cứng File bị thay đổi thành chỉ đọc … Cách xử lý trước đâyCáchGETAFILENAMEOPENTHEFILEIFTHEREISNOERROROPENINGTHEFILE READSOMEDATA IFTHEREISNOERRORREADINGTHEDATA PROCESSTHEDATA WRITETHEDATA IFTHEREISNOERRORWRITINGTHEDATA CLOSETHEFILE IFTHEREISNOERRORCLOSINGFILE RETURN Hầu hết các bước có khả năng thất bại Khó xác định chính xác lỗi từ những thông tin trả về của hàm thư viện Đoạn code phải thực hiện rồi mới biết lỗiCách xử lý ExceptionCách TRYTODOTHESETHINGS: GETAFILENAME OPENTHEFILE READSOMEDATA PROCESSTHEDATA WRITETHEDATA CLOSETHEFILE RETURN IFERROROPENINGTHEFILETHEN... IFERRORREADINGTHEDATATHEN... IFERRORWRITINGTHEDATATHEN... IFERRORCLOSINGTHEFILETHEN... Đoạn code xử lý ngắn gọn, dễ đọc Logic chương trình hợp lý hơn, những đoạn nghi ngờ có lỗi nằm trong vùng Try Cho phép xử lý tình huống lỗi rõ ràng và đơn giảnCác đối tượng ExceptionCác Trong C#, khi runtime error xuất hiện CLR sẽ xác định lỗi và phát sinh ta đối tượng Exception Đối tượng Exception này được ném trở lại stack chờ cho một phương thức bắt lỗi đó. Nếu Exception này không được chương trình “catch” thì CRL sẽ in ra thông điệp lỗiMô hình gọi – xử lý ExceptionMô CLR Runtime Method Calls Travel The Main( ) Down method Exceptions First Method Passed Up Exception Thrown HereSử dụng try-catch Dùng Try-catch để xử lý ngoại lệ Đặt code có khả năng dẫn đến ngoại lệ vào khối “try” Cung cấp các khối “catch” theo sau “try” Có thể cung cấp tất cả catch cho các lỗi nếu muốn xử lý, bằng cách sử dụng các lớp exception thích hợp Nếu không cung cấp catch cho một ngoại lệ, thì exception này đượn lan truyền lên trên.Cú pháp Try-CatchCú Code có khả năng dẫn đến lỗi try { Tham số exception RiskyBussiness(); được catch } catch (SomeException e ) Đoạn xử lý với { tình huống có lỗi // Handle code }Khối tryKh Bao gồm các phần Từ khóa try Theo sau khối “{…}” Khối “{…}” bắt buộc phải có, khác với “{…}” trong if hay for Bên trong khối try Đặt bất cứ câu lệnh nào có khả năng phát sinh ra ngoại lệKhối catchKh Đặt một hay nhiều ngay sau khối try Không có lệnh nào chen giữa hai khối catch của một try Cú pháp khối catch như sau catch (Exception-class [var1]) { // xử lý ngoại lệ 1 } catch (Exception-class [var2]) { // xử lý ngoại lệ 2 }Ví dụ try-catchVíChương trình bị terminate Chương trình kết thúc bình thườngSử dụng Finally Khi một exception được ném ra Luồng thực thi sẽ nhảy vào khối catch xử lý nó. Một số đoạn code giải phóng tài nguyên có thể bị bỏ qua Open File // ngoại lệ được phát sinh Read Data // đoạn code này bị bỏ qua, dù file chưa đóng Close File Khối try-catch có phần option là finally Luôn luôn được gọi Sử dụng để dọn dẹp các tài nguyên đang nắm giữVD có try-catch-finallyVD Luôn thực thi dù có hay không có ngoại lệLệnh throw Cho phép ném ra một ngoại lệ Cú pháp: throw exception_object Phát sinh ra ngoại lệLớp Exception Có 2 loại ngoại lệ Ngoại lệ phát sinh bởi chương trình Ngoại lệ được tạo bởi CLR Lớp System.Exception là cơ sở cho tất cả lớp trong C# 2 lớp kế thừa từ lớp này: ApplicationException: thường làm lớp cơ bản cho lớp ngo ...
Tìm kiếm theo từ khóa liên quan:
Lập trình windows ngôn ngữ C lớp và giao diện ngôn ngữ lập trình lập trình máy tínhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 255 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 245 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 245 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 228 0 0 -
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 221 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 206 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 198 1 0 -
15 trang 195 0 0
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 182 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 159 0 0