Câu hỏi thêm

Một phần của tài liệu Debug. Một số mẹo tìm ra lỗi lập trình pdf (Trang 26 - 29)

Câu hỏi 2: Phân biệt giữa lỗi và ngoại lệ?

Câu hỏi 3: Khi thực hiện việc bắt giữ các ngoại lệ. Nếu có nhiều mức bắt giữ ngoại lệ thì chúng ta sẽ thực hiện mức nào. Từ chi tiết đến tổng quát, hay từ tổng quát đến chi tiết? Câu hỏi 4: Ý nghĩa của từ khóa finally trong việc xử lý ngoại lệ?

Câu hỏi 5: Câu lệnh nào được dùng để phát sinh ngoại lệ?

Câu hỏi 6: Loại nào sau đây nên được xử lý theo ngoại lệ và loại nào thì nên được xử lý bởi các mã lệnh thông thường?

a. Giá trị nhập vào của người dùng không nằm trong mức cho phép. b. Tập tin không được viết mà thực hiện viết.

c. Đối mục truyền vào cho phương thức chứa giá trị không hợp lệ. d. Đối mục truyền vào cho phương thức chứa kiểu không hợp lệ. Câu hỏi 7: Nguyên nhân nào dẫn đến phát sinh ngoại lệ?

Câu hỏi 8: Khi nào thì ngoại lệ xuất hiện? a. Trong khi tạo mã nguồn

b. Trong khi biên dịch

c. Trong khi thực thi chương trình

d. Khi yêu cầu đựơc đưa ta bởi người dùng cuối.

Câu hỏi 9: Khi nào thì khối lệnh trong finally được thực hiện?

Câu hỏi 10: Trong namespace nào chức các lớp liên quan đến việc xử lý các ngoại lệ? Hãy cho biết một số lớp xử lý ngoại lệ quan trọng trong namespace này?

Bài tập

Bài tập 1: Hãy viết đoạn lệnh để thực hiện việc bắt giữa ngoại lệ liên quan đến câu lệnh sau đây:

Ketqua = Sothu1 / Sothu2;

Bài tập 2: Chương trình sau đây có vấn đề. Hãy xác định vấn đề có thể phát sinh ngoại lệ khi chạy chương trình. Và viết lại chương trình hoàn chỉnh gồm các lệnh xử lý ngoại lệ:

---

using System; public class Tester {

public static void Main() {

uint so1=0; int so2, so3; so2 = -10; so3 = 0;

so1 -= 5; so2 = 5/so3; // xuất kết quả

Console.WriteLine("So 1: {0}, So 2:{1}", so1, so2); }

}

---

Bài tập 3: Chương trình sau đây có thể dẫn đến ngoại lệ hay không? Nếu có thì hãy cho biết ngoại lệ có thể được phát sinh. Hãy viết lại chương trình hoàn chỉnh có xử lý các ngoại lệ bằng cách đưa ra thông điệp về ngoại lệ được phát sinh.

---

using System; using System.IO; public class Tester {

public static void Main() {

string fname = "test3.txt"; string buffer;

StreamReader sReader = File.OpenText(fname); while ( (buffer = sReader.ReadLine()) !=null) { Console.WriteLine(buffer); } } } ---

Bài tập 4: Hãy xem lại các ví dụ trong các chương trước, ví dụ nào có thể phái sinh ngoại lệ thì hãy thêm các đoạn xử lý ngoại lệ cho ví dụ đó.

Một phần của tài liệu Debug. Một số mẹo tìm ra lỗi lập trình pdf (Trang 26 - 29)

Tải bản đầy đủ (PDF)

(29 trang)