티스토리 뷰

언어/C++

14.1 예외처리의 기본

js0331 2020. 5. 13. 21:12
#include<iostream>
#include<fstream>
#include<string>
#include<cmath>

using namespace std;

int main()
{
	// try, catch, throw
	double x;
	cin >> x;
	
	try
	{
		if (x < 0.0) throw std::string("Negative input");
		
		cout << std::sqrt(x) << endl;
	}
	
	catch(std::string error_message)
	{
		// do something to respond
		cout << error_message << endl;
	}
	
	return 0;
}

 

error_message는 throw에서 던져준 키워드를 사용하게 된다.

 

예외처리는 굉장히 엄격해서 error_message의 자료형이 맞지 않는다면 바로 어긋나게 된다.

 

-11
Negative input

 

try{
		throw -1;
	}
	
	catch(int x)
	{
		cout << "Catch integer" << x << endl;
	}
	
	catch(std::string error_message)
	{
		cout << error_message << endl;
	}
Catch integer-1

 

throw하는 타입에 맞춰서 catch가 받게 되있다.

 

만일, 맞는 타입이 없다면 런타임 에러가 발생하게 된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함