Danh mục

Giáo trình phân tích khả năng truy cập các thành phần tùy biến trong mảng có kích thước khác nhau p10

Số trang: 5      Loại file: pdf      Dung lượng: 905.52 KB      Lượt xem: 13      Lượt tải: 0    
tailieu_vip

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (5 trang) 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 phân tích khả năng truy cập các thành phần tùy biến trong mảng có kích thước khác nhau p10', 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 phân tích khả năng truy cập các thành phần tùy biến trong mảng có kích thước khác nhau p10 . Ngôn Ngữ Lập Trình C# public static void Main() { Console.WriteLine(“Enter Main....”); Test t = new Test(); t.Func1(); Console.WriteLine(“Exit Main...”); } public void Func1() { Console.WriteLine(“Enter Func1...”); Func2(); Console.WriteLine(“Exit Func1...”); } public void Func2() { Console.WriteLine(“Enter Func2...”); throw new System.Exception(); Console.WriteLine(“Exit Func2...”); } } } -----------------------------------------------------------------------------  Kết quả: Enter Main.... Enter Func1... Enter Func2... Exception occurred: System.Exception: An exception of type System.Exception was throw. at Programming_CSharp.Test.Func2() in ... exception01.cs:line 26 at Programming_CSharp.Test.Func1() in ... exception01.cs:line 20 at Programming_CSharp.Test.Main() in ... exception01.cs:line 12 ----------------------------------------------------------------------------- Ví dụ minh họa đơn giản này viết ra màn hình console thông tin khi nó nhập vào trong một hàm và chuẩn bị đi ra từ một hàm. Hàm Main() tạo thể hiện mới của kiểu Test và sau đó gọi hàm Func1(). Sau khi in thông điệp “Enter Func1”, hàm Func1() này gọi hàm Func2(). Hàm Func2() in ra thông điệp đầu tiên và phát sinh một ngoại lệ kiểu System.Exception. Việc thực thi sẽ ngưng ngay tức khắc, và CLR sẽ tìm kiếm trình xử lý ngoại lệ trong hàm Func2(). Do không tìm thấy ở đây, CLR tiếp tục vào stack lấy hàm đã gọi trước tức là Func1 và tìm kiếm 367 . Xử Lý Ngoại Lệ . Ngôn Ngữ Lập Trình C# trình xử lý ngoại lệ. Một lần nữa trong Func1 cũng không có đoạn xử lý ngoại lệ. Và CLR trả về hàm Main. Tại hàm Main cũng không có, nên CLR sẽ gọi trình mặc định xử lý ngoại lệ, việc này đơn giản là xuất ra một thông điệp lỗi. Câu lệnh catch Trong C#, một trình xử lý ngoại lệ hay một đoạn chương trình xử lý các ngoại lệ được gọi là một khối catch và được tạo ra với từ khóa catch. Trong ví dụ 13.2 sau, câu lệnh throw được thực thi bên trong khối try, và một khối catch được sử dụng để công bố rằng một lỗi đã được xử lý.  Ví dụ 13.2: bắt giữ ngoại lệ. ----------------------------------------------------------------------------- namespace Programming_CSharp { using System; public class Test { public static void Main() { Console.WriteLine(“Enter Main...”); Test t = new Test(); t.Func1(); Console.WriteLine(“Exit Main...”); } public void Func1() { Console.WriteLine(“Enter Func1...”); Func2(); Console.WriteLine(“Exit Func1...”); } public void Func2() { Console.WriteLine(“Enter Func2...”); try { Console.WriteLine(“Entering try block...”); throw new System.Exception(); Console.WriteLine(“Exiting try block...”); } 368 . Xử Lý Ngoại Lệ . Ngôn Ngữ Lập Trình C# catch { Console.WriteLine(“Exception caught and handled.”); } Console.WriteLine(“Exit Func2...”); } } } -----------------------------------------------------------------------------  Kết quả: Enter Main... Enter Func1... Enter Func2... Entering try block... Exception caught and handled. Exit Func2... Exit Func1... Exit Main... ----------------------------------------------------------------------------- Ví dụ 13.2 cũng tương tự như ví dụ minh họa trong 13.1 ngoại trừ chương trình thêm vào trong một khối try/catch. Thông thường chúng ta cũng co thể đặt khối try bao quanh những đoạn chương trình tiềm ẩn gây ra sự nguy hiểm, như là việc truy cập file, cấp phát bộ nhớ... Theo sau khối try là câu lệnh catch tổng quát. Câu lệnh catch trong ví dụ này là tổng quát bởi vì chúng ta không xác định loại ngoại lệ nào mà chúng ta bắt giữ. Trong trường hợp tổng quát này thì khối catch này sẽ bắt giữ bất cứ ngoại lệ nào được phát sinh. Sử dụng câu lệnh catch để bắt giữ ngoại lệ xác định sẽ được thảo luận trong phần sau của chương. Trong ví dụ 13.2 này, khối catch đơn giản là thông báo ra một ngoại lệ được bắt giữ và được xử lý. Trong ví dụ của thế giới thực, chúng ta có thể đưa hành động đúng để sửa chữa vấn đề mà gây ra sự ngoại lệ. Ví dụ, nếu người sử dụng đang cố mở một tập tin có thuộc tính chỉ đọc, chúng ta có thể gọi một phương thức cho phép người dùng thay đổi thuộc tính của tập tin. Nếu chương trình thực hiện thiếu bộ nhớ, chúng ta có thể phát sinh cho người dùng cơ hội để đóng bớt các ứng dụng khác lại. Thậm chí trong trường hợp xấu nhất ta không khắc phục được thì khối catch này có thể in ra thông điệp lỗi để người dùng b ...

Tài liệu được xem nhiều: