在 C# 中處理檔案輸入輸出時,可能會出現各種異常,但當我們嘗試存取程式中的檔案並且該檔案不存在或被刪除時,會引發 FileNotFoundException。因此,基本上,當我們在系統中擁有檔案的位址,但當我們執行程式時,找不到我們提到或傳遞的檔案時,就會發生 FileNotFound 異常。找不到此文件的原因可能有多種。該文件可能已從該位置刪除,或者文件名可能已更改並且與我們提到的名稱不符。也有可能當我們傳遞了錯誤的地址,當它命中該地址時,沒有文件,從而發生異常。
文法:
每個方法、類別或異常都有其標準語法。
如果出現 FileNotFound 異常,標準語法如下:
public class FileNotFoundException :System.IO.IOException
FileNotFound 異常是 IOException 的一部分,IOException 繼承自 SystemException,向上到 Exception 和 Object 類別。
下面給出的是提到的例子:
代碼:
using System; using System.IO; class Program { static void Main() { try { using (StreamReaderfilereader = new StreamReader("nofile.txt")) { filereader.ReadToEnd(); } } catch (FileNotFoundException ex) { Console.WriteLine(ex); } } }
說明:
輸出:
這裡我們將執行與上面程式碼類似的程式碼,但沒有任何 try catch 區塊,這將是一個簡單的程序,我們無法猜測到底會出現什麼問題。
代碼:
using System.IO; using System; class Program { static void Main() { using (StreamReaderfilereader = new StreamReader("incorrectfilename.txt")) { filereader.ReadToEnd(); } } }
說明:
輸出:
正如您所看到的,與我們先前的範例不同,這是一個未處理的異常,並且輸出符合預期。
就像其他異常一樣,這個 FileNotFound 異常是可以避免的。在我們可以用來避免此異常的方法中,建議使用 File.Exists 方法。當我們不確定傳入參數的檔案在來源連結中是否不可用時,最好使用 File.Exists 方法。建議使用 File.Exists 方法。
範例:
我們將在程式中使用 File.Exists 方法,看看如何進一步使用它。
代碼:
using System.IO; using System; class Program { static void Main() { bool ifexists = File.Exists("incorrectfilename.txt"); Console.WriteLine("\n "+ifexists); } }
說明:
輸出:
總而言之,FileNotFound 異常來自物件類別的 IO 系統命名空間。 FileNotFoundException 是在我們傳遞檔案或嘗試對檔案執行輸入或輸出操作但該檔案不存在時發生的。其他原因可能是檔案名稱不正確或來源連結不正確。可以使用 File Exists 方法來避免此異常。
以上是C# FileNotFoundException的詳細內容。更多資訊請關注PHP中文網其他相關文章!