티스토리 뷰

Language/C++

[C++] 예외처리

Mr.SIM 2013. 10. 6. 01:32

try catch문은 예외를 처리하기위한 문법이다. try는 예외발생이 가능한 모든 문장을 하나의 일 단위로 분류한 것이며, try에서 발견된 예외의 상황에 throw가 실행되고, throw에 의해 던저진 예외데이터는 catch()에서 처리된다. (try 영역에서 코드 실행 중 에러가 발생의 경우에는 예외 이후의 try영역의 나머지 부분은 실행 되지 않게 된다. )

#include<iostream>   

using std::cout;
using std::endl;   

 
double mydiv(int a, int b){
	try{
		if(b==0)
			throw b;
		return a/b;
	} catch(int e){
		cout<<"에러" << e<<endl;
	} 	
}

int main(){
 
	cout<<mydiv(10, 0);
	 
	return 0;
}  



위 코드는 try catch문이다. 이 문법은 하나의 큰 블럭 { } 내에서 사용할 수 있지만, { } 외에서도 사용할 수 있다. 

#include<iostream>   


using std::cout;

using std::endl;   

 

double mydiv(int a, int b){

if(b==0)

throw b;

return a/b;  

}


int main(){

try{

cout<< mydiv(10, 0);

} catch(int e){

cout<<"에러" << e<<endl;

}

return 0;

}  


다음과 같이, try , catch문은 없이 throw만 있는 경우가 있다. 하지만, 이런경우는 호출하는 곳에서 try, catch를 기입해주면 이와같이 사용할 수 있다.



c++은 java와 다르게 finally문법이 없다고 하니, 주의하자

'Language > C++' 카테고리의 다른 글

[C++] JsonCpp 설치 및 설정하기  (0) 2014.02.03
[C++] 함수템플릿과 템플릿함수  (0) 2013.10.06
[C++] 멤버 이니셜라이저  (0) 2013.10.05
[C++] 생성자와 소멸자  (0) 2013.10.05
[C++] namespace  (0) 2013.10.05
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday