Giáo trình phân tích ứng dụng nguyên lý testfunc khi thực hiện chia với zero p2
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Giáo trình phân tích ứng dụng nguyên lý testfunc khi thực hiện chia với zero p2. Ngôn Ngữ Lập Trình C# public void TestFunc() { try { Console.WriteLine(“Open file here”); double a = 12; double b = 0; Console.WriteLine(“{0} /{1} = {2}”, a, b, DoDivide(a,b)); Console.WriteLine(“This line may or not print”); } catch (System.DivideByZeroException e) { Console.WriteLine(“ DivideByZeroException! Msg: {0}”, e.Message); Console.WriteLine(“ HelpLink: {0}”, e.HelpLink); Console.WriteLine(“ Here’s a stack trace: {0} ”, e.StackTrace); } catch { Console.WriteLine(“Unknown exception caught”); } } // thực hiện phép chia hợp lệ public double DoDivide( double a, double b) { if ( b == 0) { DivideByZeroException e = new DivideByZeroException(); e.HelpLink = “http://www.hcmunc.edu.vn”; throw e; } if ( a == 0) { throw new ArithmeticException(); } return a/b; } } } 377. Xử Lý Ngoại Lệ. Ngôn Ngữ Lập Trình C# ----------------------------------------------------------------------------- Kết quả: Open file here DivideByZeroExceptión Msg: Attempted to divide by zero HelpLink: http://www.hcmuns.edu.vn Here’s a stack trace: at Programming_CSharp.Test.DoDivide(Double c, Double b) in c:...exception06.cs: line 56 at Programming_CSharp.Test.TestFunc() in ...exception06.cs: line 22. Close file here ----------------------------------------------------------------------------- Trong đoạn kết quả trên, danh sách trace của stack được hiển thị theo thứ tự ngược lại thứ tự gọi. Nó hiển thị một lỗi trong phương thức DoDivde(), phương thức này được gọi từ phương thức TestFunc(). Khi các phương thức gọi lồng nhau nhiều cấp, thông tin stack có thể giúp chúng ta hiểu thứ tự của các phương thức được gọi. Trong ví dụ này, hơn là việc đơn giản phát sinh một DidiveByZeroException, chúng ta tạo một thể hện mới của ngoại lệ: DivideByZeroException e = new DivideByZeroException(); Chúng ta không truyền vào thông điệp của chúng ta, nên thông điệp mặc định sẽ được in ra: DivideByZeroException! Msg: Attemped to divide by zero. Ở đây chúng ta có thể bổ sung như dòng lệnh bên dưới để truyền vào thông điệp của chúng ta tùy chọn như sau: new DivideByZeroException(“You tried to divide by zero which is not meaningful”); Trước khi phát sinh ra ngoại lệ, chúng ta thiết lập thuộc tính HelpLink như sau: e.HelpLink = “http://www.hcmunc.edu.vn”; Khi ngoại lệ được bắt giữ, chương trình sẽ in thông điệp và HelpLink ra màn hình: catch (System.DivideByZeroException e) { Console.WriteLine(“ DivideByZeroException! Msg: {0}”, e.Message); Console.WriteLine(“ HelpLink: {0}”, e.HelpLink); } Việc làm này cho phép chúng ta cung cấp những thông tin hữu ích cho người sử dụng. Thêm vào đó thông tin stack cũng được đưa ra bằng cách sử dụng thuộc tính StackTrace của đối tượng ngoại lệ: Console.WriteLine(“ Here’s a stack trace: {0} ”, e.StackTrace); Kết quả là các vết trong stack sẽ được xuất ra: Here’s a stack trace: at Programming_CSharp.Test.DoDivide(Double c, Double b) 378. Xử Lý Ngoại Lệ . Ngôn Ngữ Lập Trình C# in c:...exception06.cs: line 56 at Programming_CSharp.Test.TestFunc() in ...exception06.cs: line 22. Lưu ý rằng, phần đường dẫn được viết tắt, do đó kết quả của bạn có thể hơi khác một tí. Bảng 13.1 sau mô tả một số các lớp ngoại lệ chung được khai báo bên trong namespace System. CÁC LỚP NGOẠI LỆ Tên ngoại lệ Mô tả Lỗi truy cập, do truy cập đến thành viên hay MethodAccessException phương thức không được truy cập Lỗi tham số đối mục ArgumentException ...
Tìm kiếm theo từ khóa liên quan:
giáo trình đại học tài liệu mạng giáo trình cơ điện giáo trình thiết kế tài liệu kế toánGợi ý tài liệu liên quan:
-
Giáo trình phân tích một số loại nghiệp vụ mới trong kinh doanh ngân hàng quản lý ngân quỹ p5
7 trang 471 0 0 -
MARKETING VÀ QUÁ TRÌNH KIỂM TRA THỰC HIỆN MARKETING
6 trang 298 0 0 -
122 trang 217 0 0
-
QUY CHẾ THU THẬP, CẬP NHẬT SỬ DỤNG CƠ SỞ DỮ LIỆU DANH MỤC HÀNG HÓA BIỂU THUẾ
15 trang 206 1 0 -
BÀI GIẢNG KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - TS. NGUYỄN VĂN LỊCH - 5
23 trang 205 0 0 -
Giáo trình hướng dẫn phân tích các thao tác cơ bản trong computer management p6
5 trang 195 0 0 -
Giáo trình chứng khoán cổ phiếu và thị trường (Hà Hưng Quốc Ph. D.) - 4
41 trang 195 0 0 -
BÀI GIẢNG LÝ THUYẾT MẠCH THS. NGUYỄN QUỐC DINH - 1
30 trang 172 0 0 -
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - NGÂN HÀNG ĐỀ THI HẾT HỌC PHẦN HỌC PHẦN: TOÁN KINH TẾ
9 trang 171 0 0 -
Giáo trình phân tích giai đoạn tăng lãi suất và giá trị của tiền tệ theo thời gian tích lũy p10
5 trang 169 0 0 -
Báo cáo thực hành Môn: Công nghệ vi sinh
15 trang 159 0 0 -
38 trang 137 0 0
-
SỰ DỤNG MÁY TÍNH HIỆU QUẢ - CÁC BÀI KHỞI ĐỘNG
3 trang 135 0 0 -
TOÁN THỐNG KÊ - GIỚI THIỆU MÔN HỌC - CÁC KHÁI NIỆM CHỦ YẾU
5 trang 114 0 0 -
Giáo trình nguyên lý kế toán_13
18 trang 107 0 0 -
112 trang 105 0 0
-
Giáo trình phân tích một số phương pháp cấu hình cho hệ thống chức năng RAS p2
11 trang 102 0 0 -
XSS cơ bản - Lỗi xảy ra như thế nào
14 trang 92 0 0 -
Giáo trình : Miễn dịch học thủy sản
0 trang 90 0 0 -
Giáo trình hình thành quy trình ứng dụng nguyên lý nhận thức hiện tại các tác nhân p5
5 trang 83 0 0