티스토리 뷰
.NET 예외처리 (Exception)
예외처리
아래와 같이 오류의 리턴값에 대한 경우를 정해 놓고 오류를 처리하는게 가장 쉽고 편리하지만,
모든 경우에 리턴값이 나오는 것이 아니기 때문에 예외처리가 필요로 된다.
(Exception 구문)
int result = GetXXX();
if(result == -1)
...
else if (result == -2)
...
else if (result == -3)
특히 메모리 부분 같은 경우 리턴값이 없다.
Try ~ Catch 구문: 리턴값이 없어도 정상적으로 처리가 가능하다.
* Exception 구문 예제
class Program
{
static void Main(string[] args)
{
long b = long.MaxValue;
int a = (int)b;
Console.WriteLine("a= {0}", a);
}
}
출력해보면, b 값이 -1 이 아닌데 틀린 값이 나오는데 문제가 없는 것처럼 잘 실행이 된다.
오류를 감지 못한 것이기 때문에,이를 체크해야한다.
이렇게 하면 연산은 제대로 되지만 모든 구간에 대해 처리하기 때문에 스펙이 떨어지게 됨으로,
아래와 같이 체크를 사용한다.
checked
{
long b = long.MaxValue;
int a = (int)b;
Console.WriteLine("a= {0}", a);
}
체크 사용 후 디버그
예외처리를 사용하여 잡는다.
try
{
checked
{
long b = long.MaxValue;
int a = (int)b;
Console.WriteLine("a= {0}", a);
}
}
catch (Exception ex) //제네럴한 예외에 대한 처리 규정
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(MyClass.GetGreeting("홍길동"));
실행하면 아래와 같이 예외처리를 하고 다음 프로세스까지 정상적으로 실행됨
오류 여부에 관계 없이 무조건 실행해야 하는 코드는 finally 에 적는다.
'C# Study' 카테고리의 다른 글
c# 데이터집합(dataset) (0) | 2013.10.20 |
---|---|
c# 생성자 Reference Type, Value Type차이 Static 메소드 (0) | 2013.10.19 |
c# 인터페이스 (Interface) 및 Generic (0) | 2013.10.18 |
Visual Studio 2012 개념 정리 (0) | 2013.10.16 |
.Net Framework 정의 및 Visual Studio 관련 비교 (0) | 2013.10.14 |
- Total
- Today
- Yesterday
- 재테크
- 돈모으는방법
- CMA통장 금리비교
- 정기예금 추천
- 수익률 좋은 펀드
- 20대 재테크
- 1년 적금 추천
- 정기적금 추천
- 목돈만들기
- CMA금리비교
- 적금이율높은곳
- 적립식펀드 추천
- 적립식펀드 수익률
- 정기예금금리비교
- 목돈굴리기
- 부자되는법
- 재테크방법
- 펀드 수익률 비교
- 급여통장 추천
- 정기적금 금리비교
- 직장인 재테크
- cma통장 추천
- 적금 추천
- 정기예금 금리비교
- 월급통장 추천
- 통장쪼개기
- 적금통장 추천
- 정기적금금리비교
- 재테크노하우
- 재테크 노하우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |