* 예외처리(Exception)
프로그램을 실행하는 도중 발생한 오퓨를 처리하는 방법입니다. 기존의 프로그래밍을 언어가 가지고 있던 오류 처리 방식을 보안해서 체계적으로 오류를 해결하는 방식입니다. 특히 클래스를 위주로 하는 객체 프로그래밍에서 유용하게 쓰일수 있습니다.
예외처리 설명
Exception 실행 타임에 발생하는 모든 오류를 점검 합니다. 다른 모든 Execption 객체의 베이스
클래스 입니다.
IndexOutOfRangeException 배열 인덱스 값을 잘못 쓸 때 발생하는 예외 처리 입니다. 배열의 인덱스 범위를 벗어나는
경우에 발생합니다. 예) arr[arr.Length+1]
NullReferenceException 실행 타임에 빈 객체를 참조 했을때 발생하는 예외 처리입니다.
예) object 0=null; o.ToStrin();
AccessException 클래스 멤버를 사용 못하는 경우에 발생합니다.
ArithmeticException 계산을 하다가 오버플로나 언더플로가 나는 경우에 발생합니다.
ArrTypeMismatchException 배열에 적절하지 않은 데이터형 개체를 넣으려고 하는 경우에 발생합니다.
DivideByZeroException 0 나누기 오류가 발생한 경우입니다.
InvalidCastException 객체를 억지로 형 변환해서 사용하는 경우에 발생합니다.
throw 문
입력 값이나 변수 값이 잘못되었다고 판단하고 임의로 예외 처리한 예입니다. 변수 값이 0인 경우, 잘못된 값이라고 판단하고 오류처리 합니다. throw 문을 불러주며, 오류 메시지와 함께 Excepton 객체를 보내줍니다.
//throw 문을 이용한 예외 처리발생.
try
{
int val = 0
if (val == 0)
throw(new Exception("0값은 허용되지 않습니다."));
}
catch(Exception e)
{
Console.WriteLine("예외 처리 : " + e.Message);
}
C# 이 제공하고 있는 Exception 객체는 앞에 보인 예처럼 일반적인 오류 들을 다루는 예외 처리 객체 입니다. 코드에서 특정 오류를 처리해주려면, throw 문을 이용해서 예외 처리를 발생시키고 catch 문에게 넘겨주는 방식이 필요합니다.
finally문
finally문은 오류를 처리하는 것이 아니라, 실행을 마무리하기 위한 용도입니다. finally 문에 있는 코드는 정상적으로 싱행된 경우와 오류가 발생한 경우 모두 실행됩니다.
예를 들어 try 불록에서 파일을 사용한 경우, 정상적으로 파일을 읽은 경우와 파일을 읽다가 오류가 발생한 경우 모두 열린 파일을 닫아주어야 합니다. finally 불록에 파일을 닫는 코드를 넣어줍니다.
try
{
Console.WriteLine( "정상적인 실행");
}
finally
{
//오류 발생 여부에 상관없이 항상 실행됩니다.
Console.WriteLine("마무리코드실행");
}
디버깅
디버그키 설명
F10 프로시저 단위로 실행합니다.
F11 한 단계식 실행하며, 실행할 코드가 메서드이면 메서드 안으로 들어갑니다.
Ctrl+F10 현재 커서가 위치한 곳까지 실행
F9 현재커서 위치에서 중단점(Brakpoint)추가 또는 취소
'개발언어 > c++' 카테고리의 다른 글
static_lib과 dll을 동시에 지원하는 library를 만들때 주의 할점 (0) | 2016.06.13 |
---|---|
Win32 Static Library( 정적 라이브러리 ) (0) | 2016.06.13 |
메모리 누수 관련 추적하여 LOG로 남기기 (0) | 2016.06.13 |
MFC 메모리 릭 체크시 유용한 방법 2개 (0) | 2016.06.13 |
#progrma 의 사용 및 외부링크 Library (0) | 2016.06.13 |