Giáo trình hình thành công thức điều chỉnh testfunc khi thực hiện chia với zero p2
Số trang: 10
Loại file: pdf
Dung lượng: 1.35 MB
Lượt xem: 10
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 giáo trình hình thành công thức điều chỉnh testfunc khi thực hiện chia với zero p2, 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:
Giáo trình hình thành công thức điều chỉnh testfunc khi thực hiện chia với zero p2. Ngôn Ngữ Lập Trình C# Lớp MyCustomException được dẫn xuất từ System.ApplicationException và lớp này không có thực thi hay khai báo gì ngoài một hàm khởi dựng. Hàm khởi dựng này lấy tham số là một chuỗi và truyền cho lớp cơ sở. Trong trường hợp này, lợi ích của việc tạo ra ngoại lệ là làm nổi bật điều mà chuơng trình muốn minh họa, tức là không cho phép số chia là zero. Sử dụng ngoại lệ ArithmeticException thì tốt hơn là ngoại lệ chúng ta tạo ra. Nhưng nó có thể làm nhầm lẫn cho những người lập trình khác vì phép chia với số chia là zero không phải là lỗi số học. Phát sinh lại ngoại lệ Giả sử chúng ta muốn khối catch thực hiện một vài hành động đúng nào đó rồi sau đó phát sinh lại ngoại lệ ra bên ngoài khối catch (trong một hàm gọi). Chúng ta được phép phát sinh lại cùng một ngoại lệ hay phát sinh lại các ngoại lệ khác. Nếu phát sinh ra ngoại lệ khác, chúng ta có thể phải nhúng ngoại lệ ban đầu vào bên trong ngoại lệ mới để phương thức gọi có thể hiểu được lai lịch và nguồn gốc của ngoại lệ. Thuộc tính InnerException của ngoại lệ mới cho phép truy cập ngoại lệ ban đầu. Bởi vì InnerException cũng là một ngoại lệ, nên nó cũng có một ngoại lệ bên trong. Do vậy, toàn bộ dây chuyền ngoại lệ là một sự đóng tổ (nest) của một ngoại lệ này với một ngoại lệ khác. Giống như là con lật đật, mỗi con chứa trong một con và đến lượt con bên trong lại chứa... Ví dụ 13.8: Phát sinh lại ngoại lệ & ngoại lệ inner. ----------------------------------------------------------------------------- namespace Programming_CSharp { using System; // tạo ngoại lệ riêng public class MyCustomException : System.Exception { public MyCustomException( string message, Exception inner): base(message, inner) { } } public class Test { public static void Main() { Test t = new Test(); 382. Xử Lý Ngoại Lệ. Ngôn Ngữ Lập Trình C# t.TestFunc(); } // chia hai số và xử lý ngoại lệ public void TestFunc() { try { DangerousFunc1(); } catch (MyCustomException e) { Console.WriteLine(“ {0}”, e.Message); Console.WriteLine(“Retrieving exception history...”); Exception inner = e.InnerException; while ( inner != null) { Console.WriteLine(“{0}”, inner.Message); inner = inner.InnerException; } } } public void DangerousFunc1() { try { DangerousFunc2(); } catch (System.Exception e) { MyCustomException ex = new MyCustomException(“E3 – Custom Exception Situation”, e); throw ex; } } public void DangerousFunc2() { try { 383 . Xử Lý Ngoại Lệ . Ngôn Ngữ Lập Trình C# DangerousFunc3(); } catch (System.DivideByZeroException e) { Exception ex = new Exception(“E2 - Func2 caught divide by zero”, e); throw ex; } } public void DangerousFunc3() { try { DangerousFunc4(); } catch (System.ArithmeticException) { throw; } catch (System.Exception) { Console.WriteLine(“Exception handled here.”); } } public void DangerousFunc4() { ...
Nội dung trích xuất từ tài liệu:
Giáo trình hình thành công thức điều chỉnh testfunc khi thực hiện chia với zero p2. Ngôn Ngữ Lập Trình C# Lớp MyCustomException được dẫn xuất từ System.ApplicationException và lớp này không có thực thi hay khai báo gì ngoài một hàm khởi dựng. Hàm khởi dựng này lấy tham số là một chuỗi và truyền cho lớp cơ sở. Trong trường hợp này, lợi ích của việc tạo ra ngoại lệ là làm nổi bật điều mà chuơng trình muốn minh họa, tức là không cho phép số chia là zero. Sử dụng ngoại lệ ArithmeticException thì tốt hơn là ngoại lệ chúng ta tạo ra. Nhưng nó có thể làm nhầm lẫn cho những người lập trình khác vì phép chia với số chia là zero không phải là lỗi số học. Phát sinh lại ngoại lệ Giả sử chúng ta muốn khối catch thực hiện một vài hành động đúng nào đó rồi sau đó phát sinh lại ngoại lệ ra bên ngoài khối catch (trong một hàm gọi). Chúng ta được phép phát sinh lại cùng một ngoại lệ hay phát sinh lại các ngoại lệ khác. Nếu phát sinh ra ngoại lệ khác, chúng ta có thể phải nhúng ngoại lệ ban đầu vào bên trong ngoại lệ mới để phương thức gọi có thể hiểu được lai lịch và nguồn gốc của ngoại lệ. Thuộc tính InnerException của ngoại lệ mới cho phép truy cập ngoại lệ ban đầu. Bởi vì InnerException cũng là một ngoại lệ, nên nó cũng có một ngoại lệ bên trong. Do vậy, toàn bộ dây chuyền ngoại lệ là một sự đóng tổ (nest) của một ngoại lệ này với một ngoại lệ khác. Giống như là con lật đật, mỗi con chứa trong một con và đến lượt con bên trong lại chứa... Ví dụ 13.8: Phát sinh lại ngoại lệ & ngoại lệ inner. ----------------------------------------------------------------------------- namespace Programming_CSharp { using System; // tạo ngoại lệ riêng public class MyCustomException : System.Exception { public MyCustomException( string message, Exception inner): base(message, inner) { } } public class Test { public static void Main() { Test t = new Test(); 382. Xử Lý Ngoại Lệ. Ngôn Ngữ Lập Trình C# t.TestFunc(); } // chia hai số và xử lý ngoại lệ public void TestFunc() { try { DangerousFunc1(); } catch (MyCustomException e) { Console.WriteLine(“ {0}”, e.Message); Console.WriteLine(“Retrieving exception history...”); Exception inner = e.InnerException; while ( inner != null) { Console.WriteLine(“{0}”, inner.Message); inner = inner.InnerException; } } } public void DangerousFunc1() { try { DangerousFunc2(); } catch (System.Exception e) { MyCustomException ex = new MyCustomException(“E3 – Custom Exception Situation”, e); throw ex; } } public void DangerousFunc2() { try { 383 . Xử Lý Ngoại Lệ . Ngôn Ngữ Lập Trình C# DangerousFunc3(); } catch (System.DivideByZeroException e) { Exception ex = new Exception(“E2 - Func2 caught divide by zero”, e); throw ex; } } public void DangerousFunc3() { try { DangerousFunc4(); } catch (System.ArithmeticException) { throw; } catch (System.Exception) { Console.WriteLine(“Exception handled here.”); } } public void DangerousFunc4() { ...
Tìm kiếm theo từ khóa liên quan:
giáo trình vật lý tài liệu vật lý phương pháp quang học kỹ năng quang học thủ thuật quang họcGợi ý tài liệu liên quan:
-
Giáo trình Vật lý đại cương A2: Phần 2 - ThS. Trương Thành
78 trang 110 0 0 -
Giáo trình hình thành ứng dụng điện thế âm vào Jfet với tín hiệu xoay chiều p2
10 trang 41 0 0 -
Giáo trình Vật lý phân tử và nhiệt học: Phần 1
54 trang 41 0 0 -
Giáo trình giải thích việc nôn mửa do phản xạ hoặc do trung khu thần kinh bị kích thích p10
5 trang 39 0 0 -
Giáo trình hình thành nguyên lý ứng dụng hệ số góc phân bố năng lượng phóng xạ p4
10 trang 34 0 0 -
Giáo trình hình thành đặc tính kỹ thuật của bộ cánh khuấy Mycom trong hệ số truyền nhiệt p2
5 trang 33 0 0 -
Giáo trình Vật lý phân tử và nhiệt học: Phần 2
72 trang 31 0 0 -
Giáo trình hình thành phân đoạn ứng dụng cấu tạo đoạn nhiệt theo dòng lưu động một chiều p5
10 trang 28 0 0 -
Tài liệu: Hướng dẫn sử dụng phần mềm gõ công thức Toán MathType
12 trang 27 0 0 -
13. TƯƠNG TÁC GIỮA HAI DÒNG ĐIỆN THẲNG SONG SONG. ĐỊNH NGHĨA ĐƠN VỊ AM-PE
4 trang 27 0 0