๊ธ ์์ฑ์: ๋ฅํด๋ฒ .
1. ์ค๋ช
๋ง์ฝ์ ์ด๋ค ํจ์๊ฐ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์๋๋ค๋ฉด noexcept ํค์๋๋ฅผ ํตํด ๋ช
์ํ ์ ์๋ค.
int foo() noexcept {}
foo ํจ์์ ๊ฒฝ์ฐ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์์ผ๋ฏ๋ก ์์ ๊ฐ์ด ํจ์ ์ ์ ์์ noexcept๋ฅผ ๋ฃ์์ผ๋ก์จ ๋ํ๋ผ ์ ์๋ค.
#include <iostream>
using namespace std;
int foo() noexcept { return 0; }
int bar() noexcept { throw 1; }
int main()
{
foo();
try
{
bar();
}
catch (int x)
{
std::cout << "Error : " << x << std::endl;
}
return 0;
}
์ปดํ์ผ๋ฌ๋ noexcept ํค์๋๊ฐ ๋ถ์ ํจ์๋ฅผ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์๋๋ค๊ณ ํ๋จํ๊ณ ์ปดํ์ผํ๋ค.
noexcept๋ก ๋ช
์๋ ํจ์๊ฐ ์์ธ๋ฅผ ๋ฐ์์ํจ๋ค ํด๋ ์์ธ๊ฐ ์ ๋๋ก ์ฒ๋ฆฌ๋์ง ์๊ณ ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๋ค.
C++ 11์์๋ถํฐ ์๋ฉธ์๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก noexcept๋ค. ์ ๋๋ก ์๋ฉธ์์์ ์์ธ๋ฅผ ๋์ง๋ฉด ์ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
2. ์ฐธ๊ณ ๋ฐ ์ถ์ฒ
https://modoocode.com/197#page-heading-2