C#에서 파일 입력 출력을 처리하는 동안 다양한 예외가 발생할 수 있지만 프로그램에서 파일에 액세스하려고 시도하고 해당 파일이 존재하지 않거나 삭제되면 FileNotFoundException이 발생합니다. 따라서 기본적으로 FileNotFound 예외는 시스템에 파일 주소가 있는데 프로그램을 실행할 때 언급했거나 전달한 파일을 찾을 수 없을 때 발생합니다. 이 파일을 찾을 수 없는 데에는 여러 가지 이유가 있을 수 있습니다. 파일이 해당 위치에서 삭제되었거나 파일 이름이 변경되어 우리가 언급한 이름과 일치하지 않을 수 있습니다. 잘못된 주소를 전달하여 해당 주소에 도달했을 때 파일이 없어 예외가 발생하는 경우도 가능합니다.
구문:
모든 메소드, 클래스 또는 예외에는 표준 구문이 있습니다.
FileNotFound Exception의 경우 표준 구문은 다음과 같습니다.
public class FileNotFoundException :System.IO.IOException
FileNotFound 예외는 SystemException에서 상속되어 Exception 및 Object 클래스까지 이어지는 IOException의 일부입니다.
다음은 언급된 예입니다.
코드:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!