[C#] 예외 처리와 파일 입출력 완벽 가이드
2025. 4. 17. 13:58ㆍ개발이야기
728x90
반응형
반응형
프로그래밍에서는 예상하지 못한 문제가 항상 발생할 수 있습니다.
C#에서는 예외(Exception) 처리를 통해 프로그램이 갑자기 종료되는 것을 막고,
파일 입출력(File IO) 기능으로 파일을 읽고 쓸 수 있습니다.
이번 글에서는 try-catch-finally 구조와, 파일을 읽고 쓰는 기본 방법을 정리해봅니다.
1. 예외 처리 (Exception Handling)
try-catch-finally 구조
try
{
// 예외가 발생할 수 있는 코드
int x = int.Parse("not a number");
}
catch (FormatException ex)
{
Console.WriteLine("형식이 잘못되었습니다: " + ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("오류 발생: " + ex.Message);
}
finally
{
Console.WriteLine("무조건 실행되는 블록");
}
- try: 예외가 발생할 수 있는 코드를 감쌈
- catch: 예외가 발생하면 실행됨
- finally: 예외 발생 여부와 관계없이 항상 실행
여러 catch 사용하기
특정 예외만 따로 처리할 수 있습니다.
catch (IOException ex)
{
Console.WriteLine("파일 입출력 오류: " + ex.Message);
}
catch (NullReferenceException ex)
{
Console.WriteLine("널 참조 오류: " + ex.Message);
}
throw로 직접 예외 던지기
throw new Exception("문제가 발생했습니다!");
2. 파일 입출력 (File IO)
파일에 쓰기
using System.IO;
File.WriteAllText("sample.txt", "Hello, World!");
- 지정한 파일에 문자열을 기록합니다.
- 파일이 없으면 새로 생성, 있으면 덮어쓰기
파일에서 읽기
string content = File.ReadAllText("sample.txt");
Console.WriteLine(content);
- 파일 내용을 한 번에 읽어 문자열로 반환합니다.
줄 단위로 읽고 쓰기
// 여러 줄 쓰기
string[] lines = { "첫 번째 줄", "두 번째 줄", "세 번째 줄" };
File.WriteAllLines("lines.txt", lines);
// 여러 줄 읽기
string[] readLines = File.ReadAllLines("lines.txt");
foreach (string line in readLines)
{
Console.WriteLine(line);
}
3. 실전 예제: 파일 읽고 없으면 새로 만들기
string path = "data.txt";
try
{
if (!File.Exists(path))
{
File.WriteAllText(path, "초기 데이터");
}
string text = File.ReadAllText(path);
Console.WriteLine("파일 내용:");
Console.WriteLine(text);
}
catch (Exception ex)
{
Console.WriteLine("오류 발생: " + ex.Message);
}
이번 글에서는
- try-catch-finally를 통한 예외 처리 방법
- File 클래스를 이용한 파일 읽고 쓰기 방법 을 정리했습니다.
안전한 코드 작성과 파일 기반 데이터 처리는 모든 프로그램에서 기본이 되는 기술입니다.
728x90
반응형
'개발이야기' 카테고리의 다른 글
[C#] 비동기 프로그래밍 완벽 가이드 (0) | 2025.04.17 |
---|---|
[C#] 이벤트와 델리게이트 완전 정복 (0) | 2025.04.17 |
[C#] 컬렉션과 LINQ 완전 정리 (0) | 2025.04.17 |
[C#] 상속과 인터페이스 (객체지향 고급 개념) (0) | 2025.04.17 |
[C#] 메서드와 클래스 (0) | 2025.04.17 |