Rumah > Artikel > pembangunan bahagian belakang > C# FileNotFoundException
Semasa berurusan dengan Output Input Fail dalam C#, pelbagai pengecualian mungkin meningkat, tetapi FileNotFoundException dibangkitkan apabila kami cuba mengakses fail dalam program kami dan fail itu tidak wujud atau dipadamkan. Jadi, pada asasnya, Pengecualian FileNotFound berlaku apabila kita mempunyai alamat kepada fail dalam sistem kita, tetapi apabila kita melaksanakan program itu, fail yang kita nyatakan atau luluskan, tidak dijumpai. Mungkin terdapat beberapa sebab mengapa fail ini tidak ditemui. Fail mungkin dipadamkan dari lokasi atau nama fail mungkin telah ditukar dan tidak sepadan dengan nama yang kami nyatakan. Ia juga mungkin apabila kami menghantar alamat yang salah dan apabila ia mencecah alamat, tiada fail dan dengan itu pengecualian berlaku.
Sintaks:
Setiap kaedah, kelas atau pengecualian mempunyai sintaks standardnya.
Dalam kes Pengecualian FileNotFound, sintaks standard adalah seperti berikut:
public class FileNotFoundException :System.IO.IOException
Pengecualian FileNotFound ialah sebahagian daripada IOException, yang diwarisi daripada SystemException, naik ke kelas Exception dan Object.
Diberikan di bawah adalah contoh yang dinyatakan:
Kod:
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); } } }
Penjelasan:
Output:
Di sini kami akan melaksanakan kod yang serupa dengan kod di atas, tetapi tanpa sebarang try catch block, ia akan menjadi program mudah, di mana kami tidak dapat meneka apa sebenarnya yang boleh berlaku.
Kod:
using System.IO; using System; class Program { static void Main() { using (StreamReaderfilereader = new StreamReader("incorrectfilename.txt")) { filereader.ReadToEnd(); } } }
Penjelasan:
Output:
Dan seperti yang anda lihat, tidak seperti contoh kami yang terdahulu, ini adalah pengecualian yang tidak dikendalikan dan output adalah seperti yang dijangkakan.
Sama seperti pengecualian lain, Pengecualian FileNotFound ini boleh dielakkan. Daripada cara yang boleh kami gunakan untuk mengelakkan pengecualian ini, kaedah File.Exists disyorkan. Apabila kami tidak pasti sama ada fail yang kami hantar dalam hujah tidak tersedia pada pautan sumber, lebih baik menggunakan kaedah File.Exists. Kaedah File.Exists disyorkan.
Contoh:
Kami akan menggunakan kaedah File.Exists dalam program dan lihat bagaimana ia boleh digunakan selanjutnya.
Kod:
using System.IO; using System; class Program { static void Main() { bool ifexists = File.Exists("incorrectfilename.txt"); Console.WriteLine("\n "+ifexists); } }
Penjelasan:
Output:
Untuk membuat kesimpulan, Pengecualian FileNotFound berasal daripada ruang nama sistem IO bagi kelas objek. FileNotFoundException bertanggungjawab untuk berlaku pada masa apabila kami menghantar fail atau cuba melaksanakan operasi input atau output dengan fail tetapi fail itu tidak wujud. Sebab lain mungkin, nama fail yang salah, atau pautan sumber yang salah. Kaedah File Exists boleh digunakan untuk mengelakkan pengecualian ini.
Atas ialah kandungan terperinci C# FileNotFoundException. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!