반응형
예외처리 Exception : 오류(Error)
컴파일(문법) 오류 : 잘못된 타이핑, 잘못된 문법이면 visual stdio가 바로 잡아줌
- 오류 줄일려면 많은 타이핑, 많은 학습
런다임(실행) 오류 : 실행시 발생 -많은 테스트
논리(잘못된분석) 오류(예외처리) : 잘못된 분석/설계/구현(오탈자)
-많은 프로그램 작성 경험
Program.cs |
using System; public class 예외처리 { static void Main(string[] args) { //int c = 5 / 0; //1. 문법 오류 //int a = 5; int b = 0; int c = a / b; //빌드하면 문법 오류없음 2. 실행시 애러(런타임 오류) //int c = args+bool; //논리상 나누기가 필요한데 더하기(+)를 해버렸다. 3.논리오류 //Console.WriteLine("{0}", c); // try문에서 출력 ExceptionHandling(); } private static void ExceptionHandling() { //int a = 5; 예제1 //int b = 0; 예제1 try { //[1] 예외 발생할만한 구문 넣어놓는곳 //int c = a / b; //예외가 발생할만한 구문은 try절에...예제1 //예제2 //throw (new Exception("내가 만든 에러")); //예외를 던지다(발생) throw하면 무조껀 애러를 발생시킴 //내가만든 에러 문장이 42줄에 ex.Message에 들어감 //예제3 //DivideByZeroException dbze = new DivideByZeroException("뭐지?"); //애러형태 타입 //throw dbze; //예제3을 한 줄로 표시 throw new DivideByZeroException("왜그러징"); } catch (Exception ex) //예외발생때 처리 { //[2] 예외가 발생했을 때에만 샐행됨 Console.WriteLine("예외발생 {0}", ex.Message);// 메세지 출력 throw; } finally { Console.WriteLine("프로그램을 정상 종료합니다."); } } } |
결과화면
반응형
'C#' 카테고리의 다른 글
73.C# - 연산자 오버로드 (0) | 2009.08.18 |
---|---|
72.C# - 리스트 제네릭 클래스 ( List Generic Class) (0) | 2009.08.18 |
70.C# - 변환연산자 (0) | 2009.08.17 |
69.C# - 반복기 (0) | 2009.08.17 |
68.C# - 암시적으로 형식화된 로컬변수 (var) (0) | 2009.08.17 |
Comments