Trang Chủ Tài chính Cá nhân Xử lý Lỗi trong C ++ Khi mở một tập tin - núm vú

Xử lý Lỗi trong C ++ Khi mở một tập tin - núm vú

Video: Khắc phục lỗi không mở được file pdf, file excel, không mở được ứng dụng trong Windows 2025

Video: Khắc phục lỗi không mở được file pdf, file excel, không mở được ứng dụng trong Windows 2025
Anonim

Khi bạn mở một tập tin, mọi thứ có thể sai. Một tệp tin tồn tại trên thiết bị vật lý - ví dụ như đĩa cố định, hoặc có thể trên ổ đĩa flash hoặc thẻ nhớ SD - và bạn có thể gặp sự cố khi làm việc với thiết bị vật lý.

Ví dụ, một phần của đĩa có thể bị hỏng, gây ra tệp hiện có bị hỏng. Hoặc, ít tai hoạ, bạn có thể hết dung lượng đĩa. Hoặc, thậm chí thảm khốc hơn, bạn có thể thử mở một tập tin trong một thư mục không tồn tại.

Nếu bạn cố gắng mở một tệp tin để viết bằng cách xác định đường dẫn đầy đủ và tên tệp nhưng thư mục đó không tồn tại, máy tính sẽ phản ứng khác, tùy thuộc vào hệ điều hành mà bạn đang sử dụng. Nếu bạn không chắc chắn về cách hệ điều hành cụ thể của bạn sẽ đáp ứng, hãy thử viết một ứng dụng thử nghiệm đơn giản để tạo và mở một cái gì đó như / abc / def / ghi / jkl / abc. txt. (Tất nhiên, bạn sẽ muốn chắc chắn sử dụng một thư mục không tồn tại.)

Sau đó, một trong hai điều sẽ xảy ra: Hoặc thư mục và tập tin sẽ được tạo ra, hoặc không có gì sẽ xảy ra.

Ví dụ, trên một hệ thống Windows, nếu chúng ta cố gắng tạo một tập tin trong một thư mục không tồn tại, hệ thống sẽ không tạo thư mục. Đó là bởi vì sâu bên trong, ứng dụng cuối cùng gọi một chức năng hệ điều hành mà làm việc bẩn của việc tạo tập tin. Và chức năng hệ điều hành đặc biệt này (được gọi là CreateFile (), nếu bạn quan tâm) có một quy tắc rằng nó sẽ không tạo một thư mục cho bạn.

Nếu bạn muốn xác định xem lớp ostream có thể tạo tệp tin không, bạn có thể gọi hàm fail () của nó. Hàm này trả về true nếu đối tượng không thể tạo tệp. Và đó là những gì xảy ra khi một thư mục không tồn tại. Ví dụ DirectoryCheck01 thể hiện một ví dụ về điều này.

#include #include bằng cách sử dụng không gian tên tiêu chuẩn; int main () {ofstream outfile ("/ abc / def / ghi / MyFile. txt"); nếu (outfile. thất bại ()) {cout << "không thể mở tập tin!" << endl; return 0;} outfile << "hi" << endl; outfile. gần(); return 0;}

Khi bạn chạy mã này, giả sử bạn không có thư mục có tên / abc / def / ghi trên hệ thống, bạn sẽ thấy thông báo Không thể mở tệp! Giả sử hệ điều hành cụ thể của bạn không tạo thư mục trong trường hợp này; nếu có, máy tính của bạn sẽ mở tập tin, viết Hi to it, và tiếp tục cuộc sống hạnh phúc của nó sau khi kết thúc mọi thứ.

Là một sự thay thế cho việc gọi hàm fail (), bạn có thể sử dụng toán tử có sẵn trong các lớp dòng khác nhau. Đây là!, thường được gọi là toán tử "bang", và bạn sẽ sử dụng nó thay vì gọi thất bại (), như trong đoạn mã này:

if (!outfile) {cout << "không thể mở tập tin!" << endl; return 0;}

Hầu hết mọi người thích sử dụng! outfile thay vì outfile. thất bại (), mặc dù! outfile làm cho mã khó hiểu. Lý do là Outfile là một đối tượng, và khái niệm! outfile đơn giản là không có ý nghĩa.

Trong thực tế,! outfile chuyến đi lên nhiều lập trình ban đầu. Họ biết rằng outfile không phải là một con trỏ trong mã mẫu này, và họ tự hỏi làm thế nào bạn có thể kiểm tra nó với 0 như bình thường bạn chỉ có thể làm với một con trỏ. (Hãy nhớ, bằng cách nói! X, trong đó x là một con trỏ, bạn đang thử nghiệm x với 0.) Và điều đó đơn giản là không có ý nghĩa! Và để tránh lẫn lộn, chỉ cần gọi fail (). Nó có ý nghĩa hơn.

Dưới đây là một số lý do khiến việc tạo tệp của bạn bị nghẹt thở:

  • Thư mục không tồn tại.

  • Bạn đã hết dung lượng đĩa và không may.

  • Ứng dụng của bạn không có quyền hợp lệ để tạo tệp.

  • Tên tệp không hợp lệ - nghĩa là chứa các ký tự mà hệ điều hành không cho phép trong tên tệp, chẳng hạn như * hoặc?.

Giống như bất kỳ ứng dụng hay, ứng dụng của bạn nên làm hai việc sau:

  1. 1. Kiểm tra xem liệu một tệp tin đã thành công hay không.

  2. 2. Nếu việc tạo tệp không thành công, hãy xử lý nó một cách thích hợp.

    Không chỉ in một thông điệp khủng khiếp như Rất tiếc! Hủy bỏ!, để lại cho người nghèo của bạn không có sự lựa chọn, nhưng để quăng màn hình lên sàn nhà. Thay vào đó, hãy làm một cái gì đó thân thiện hơn - như đưa ra thông báo cho họ biết có vấn đề và gợi ý rằng họ có thể giải phóng thêm không gian đĩa.

Xử lý Lỗi trong C ++ Khi mở một tập tin - núm vú

Lựa chọn của người biên tập

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Chia sẻ là chăm sóc và bạn có thể lưu tệp Word, Excel hoặc PowerPoint vào iPad hoặc máy tính để bàn của bạn trực tiếp vào thư mục OneDrive. Sau khi tệp tin trên OneDrive, những người khác có quyền truy cập vào thư mục trên OneDrive có thể mở tệp. Họ có thể mở nó trong Văn phòng cho ứng dụng iPad, Office ...

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Một trong các công cụ hữu ích nhất trong Office 2011 cho mac là khả năng tạo siêu liên kết đến bất cứ đâu. Bạn có thể liên kết đến bất kỳ tập tin nào trên máy tính của bạn; những tập tin này là các tập tin địa phương. Để kết nối với các tệp cục bộ, bạn có thể sử dụng hai loại liên kết: Tuyệt đối: Loại liên kết này có chứa ...

Cách đăng nhập vào OneDrive từ phần mềm

Cách đăng nhập vào OneDrive từ phần mềm

OneDrive là một thành phần của Office 365, Dịch vụ trực tuyến của Microsoft. Trước khi bạn có thể lưu trữ, chia sẻ, hoặc đồng chỉnh sửa các tập tin trên OneDrive từ iPad, bạn phải đăng nhập vào OneDrive. Đọc tiếp để tìm hiểu cách đăng nhập từ Office cho iPad và đăng nhập từ một trình duyệt web. OneDrive ...

Lựa chọn của người biên tập

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Nếu bạn đã chạy blog của bạn trong bất kỳ khoảng thời gian nào, bạn có thể dễ dàng quên những tệp bạn đã tải lên bằng trình tải lên WordPress. Thư viện Truyền thông WordPress giúp bạn dễ dàng và dễ dàng khám phá những tệp nào trong thư mục Uploads của bạn. Để tìm tệp hình ảnh, video hoặc âm thanh mà bạn đã tải lên bằng cách sử dụng <

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Bạn muốn mọi người tìm thấy blog WordPress của bạn, nếu không bạn sẽ không dành thời gian để viết nó. WordPress được trang bị để tạo ra một môi trường thân thiện với các công cụ tìm kiếm, cho phép họ điều hướng dễ dàng thông qua các kho lưu trữ, các loại và các trang của bạn. WordPress cung cấp môi trường này với một cơ sở mã sạch, nội dung dễ dàng cập nhật thông qua ...

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Cho thứ hạng cao hơn cho trang web WordPress của bạn, sử dụng các liên kết tùy chỉnh với từ khoá. Bằng cách sử dụng các liên kết tuỳ chỉnh, bạn tự động chèn từ khoá vào URL của các bài đăng và trang của bạn, cho phép các công cụ tìm kiếm bao gồm các bài đăng và trang đó trong cơ sở dữ liệu thông tin về những chủ đề đó. Nếu trang web của bạn được lưu trữ bởi nhà cung cấp có

Lựa chọn của người biên tập

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Một trong những phương pháp đơn giản chia sẻ một ghi chú với OneNote 2013 bằng cách gửi nó dưới dạng tệp tin tới người nhận e-mail hoặc thậm chí với Microsoft Word hoặc blog của bạn. Để gửi lưu ý hiện tại dưới dạng tệp tin, hãy làm theo các bước sau: Mở ghi chú mà bạn muốn chia sẻ trong OneNote 2013 và chọn <...

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

OneNote 2013 khoảng cách bản thân từ khái niệm toàn bộ các tệp lưu thủ công trong lợi của đồng bộ hóa chúng. Bạn có thể đồng bộ tập tin tự động hoặc thủ công. Điều này cho phép bạn tự do khi quản lý các tệp của mình. Làm thế nào để đồng bộ tự động trong OneNote OneNote tự động lưu các ghi chú của bạn mỗi khi bạn thực hiện bất kỳ thay đổi ở tất cả để một máy tính xách tay, phần, ...

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

SkyDrive có thể truy cập qua đám mây, 't có một ứng dụng SkyDrive được cài đặt trên thiết bị. Điều này giúp bạn dễ dàng quản lý máy tính xách tay OneNote 2013 từ bất kỳ thiết bị nào có truy cập internet. Cách quản lý máy tính xách tay với SkyDrive trên web Bạn có thể truy cập dịch vụ từ bất cứ thiết bị nào bạn đang sử dụng miễn là nó hỗ trợ