Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Tung biệt lệ do người sử dụng định nghĩa Bây giờ ta hãy nhìn vào định nghĩa của lớp xử lí việc đọc tập tin , và tung ra một biệt lệ riêng ColdCallFileReader.lớp này được dẫn xuất từ IDisposable class ColdCallFileReader :IDisposable { FileStream fs; StreamReader sr; uint nPeopleToRing; bool isDisposed = false; bool isOpen = false; FileStream and StreamReader cả hai đều nằm trong namspace system.IO, là lớp cơ sở mà chúng ta sẽ dùng để đọc tập tin. filestream cho phép chúng ta nối đến tập tin ở nơi đầu tiên, trong khi StreamReader được đẩy mạnh. | Những chủ đề tiến bộ trong C Lỗi và xử lí biệt lệ - Phần 3 Tung biệt lệ do người sử dụng định nghĩa Bây giờ ta hãy nhìn vào định nghĩa của lớp xử lí việc đọc tập tin và tung ra một biệt lệ riêng ColdCallFileReader.lớp này được dẫn xuất từ IDisposable class ColdCallFileReader IDisposable FileStream fs StreamReader sr uint nPeopleToRing bool isDisposed false bool isOpen false FileStream and StreamReader cả hai đều nằm trong namspace system.IO là lớp cơ sở mà chúng ta sẽ dùng để đọc tập tin. filestream cho phép chúng ta nối đến tập tin ở nơi đầu tiên trong khi StreamReader được đẩy mạnh để đọc tập tin kí tự và thực thi phương thức StreamReader đọc 1 dòng trong tập tin. Trường IsDispose chỉ định liệu phương thức Dispose có được gọi hay không.Isopen được dùng cho việc kiểm tra lỗi -trong trường hợp này kiểm tra xem liệu Streamreader có thực sự nối đến một tập tin đang mở không. quy trình mở và đọc dòng đầu tiên -cho biết có bao nhiêu người trong tập tin được xử lí bằng phưong thức open public void Open string fileName if isDisposed throw new ObjectDisposedException peopleToRing fs new FileStream fileName FileMode.Open sr new StreamReader fs try string firstLine sr.ReadLine nPeopleToRing uint.Parse firstLine isOpen true catch FormatException e throw new ColdCallFileFormatException First line isn t an integer e Ì Dòng đầu tiên kiểm tra xem liệu mã client có gọi không hợp lí nó sau khi đối tượng bị huỷ hay không .ném ra một đối tượng ObjectDisposedException được định nghĩa trước nếu nó xuất hiện. Kế tiếp phương thức chứa đựng khối try đầu tiên mục đích của khối này là đón bắt bất kì lỗi trả về từ dòng đầu tiên không chứa đựng một số nguyên nếu vấn đề phát ra thời gian chạy .NET sẽ tung ra biệt lệ FormatException mà chúng ta sẽ bắt và chuyển thành một biệt lệ có nhiều ý nghĩa hơn.biệt lệ mới được tung ra sẽ bị bẫy bởi khối try ngoài .