2016. 11. 12. 13:51
https://blog.naver.com/nagne2011/220859807063
가장 간단하고 대중적인 예외처리 방법은if문과 else, else if같은 조건문을 이용하는 방법이다
예시를 들 필요도 없이, if(A) B; else C, 만약 A가 참이라면 B, 거짓이라면 C라는 간단한 조건문을 이용하여
예외 상황을 분류하게 해준다
그러나 C++에서는 try문과 catch문을 이용하여 예외처리를 세울 수 있다
1
2
3
4
5
6
7
8
|
try
{
//일반적으로 작동할 발생할 코드 (try는 무조건 실행된다)
}
catch(/*조건*/)
{
//조건에 맞춰 예외처리
}
|
cs |
그리고 위 catch문을 도와주는 trow문이 있다
1
2
3
4
5
6
|
if(/*조건*/)
{
throw //던져버릴 조건
}
|
cs |
이렇게 조건을 던져주면 catch에서 받아서 실행하는 구조다
아래의 예시처럼 사용한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
int i = 0;
std::cout << "두 개의 숫자 입력 : " << std::endl;
std::cin >> i; //i값 입력
try
{
if(i == 0) //i가 0일경우
throw i; //i를 던진다
}
catch(int exception)
{
return 0; //예외상황이 생기면 실행
}
|
cs |
하지만 try-catch문의 단점이 있다
가장 큰 단점은 성능이 느려지고 용량이 커지게된다 (소스의 길이 증가)
게다가 if문을 전부 try-catch로 바꿀 수 없고
동적할당한 메모리가 해제되지 않을 수 있다
따라서 코드의 가독성과 성능사이에서 적절한 조절이 필요하다
728x90
'개발공부' 카테고리의 다른 글
개발툴 - 1 - BitBucket (0) | 2022.02.15 |
---|---|
개발툴 - 0 - Git (0) | 2022.02.15 |
c# XML 저장 불러오기 (0) | 2022.02.13 |
c# 텍스트 저장 (0) | 2022.02.13 |
c# try-catch (0) | 2022.02.13 |