Checked Exception vs UnChecked Exception
Last updated
Last updated
๋์ ์ฐจ์ด๋ฅผ ๊ฐ๋จํ ๋งํ์๋ฉด '๋ช ์์ ์ผ๋ก ์๋ฌ ์ฒ๋ฆฌ(check)๋ฅผ ๊ฐ์(์ํ๋ฉด ์ปดํ์ผ์์๋ถํฐ ์๋ฌ๊ฐ ๋๋ค)' ๋นํ๋ฉด checked exception ์ด๊ณ ๊ทธ๋ ์ง ์๋ค๋ฉด unchecked exception ๋ผ๊ณ ํ ์ ์๋ค.
์ฃผ์ํ ๊ฒ์ runtime exception ์ ์์ ์ฌ๋ถ๋ง์ผ๋ก ์ด๋ฅผ ๊ตฌ๋ถ์ง์ผ๋ฉด error ๊ฐ ํฌํจ์ด ๋์ง ์๋๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๋ช ์์ ์ผ๋ก ์๋ฌ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋๋ ๊ฒ์ด checked exception ์ด๋ผ๊ณ ํ ์ ์์ผ๋ฉฐ, ๋ฐ๋๋ก ๋ช ์์ ์ผ๋ก ์๋ฌ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์์๋ ์ปดํ์ผ ์๋ฌ๊ฐ ๋์ง ์๋ ๊ฒ์ด unchecked exception ๋ผ๊ณ ํ ์ ์๋ค. ๋ํ์ ์ผ๋ก runtime exception ์ ์์ํ๋ ๋ชจ๋ exception ๋ค์ด unchecked exception ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ๊ฐ ์์๋ณด์.
checked exception ์ ๋ฐ๋์ ๋ช ์์ ์ผ๋ก check ๊ฐ ํ์ํ exception ์ด๋ค. ๊ทธ๋ ๊ธฐ์ ์ปดํ์ผ ์์ ๋ถํฐ ํน์ ์ฝ๋๊ฐ checked exception ์ ์ ๋ฐํ ๊ฐ๋ฅ์ฑ์ด ์๊ณ , ๋ช ์์ ์ผ๋ก ์ด๋ฅผ ์ฒ๋ฆฌํ์ง ์์๋ค๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋๊ฒ ๋๋ค. ๊ทธ๋์ ๋ช ์์ ์ผ๋ก ์๋ฌ๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋๊ณ ์ด๋ ๊ณง checked ๋ exception ์ด๋ฏ๋ก checked ๋ผ๋ ๊ณผ๊ฑฐํ์ด ๋์ค์ง ์์๋ ์ถ๋ค. ์ด ์๋ฌ๋ ์์ธ๊ฐ ๋ฐ์ํ์ ์ ๊ธฐ๋ณธ์ผ๋ก ๋กค๋ฐฑ์ด ๋ฐ์๋์ง ์๋๋ค.
unchecked exception ๋ ๊ฐ์ ๋งฅ๋ฝ์์ ํ์ด๋ณด๋ฉด check ๊ฐ ๋์ง ์์ exception ์ด๋ค. ์ฆ, ๋ช ์์ ์ผ๋ก ์ฒ๋ฆฌํ์ง ์์๋ ์ปดํ์ผ์ ๋ฌธ์ ๊ฐ ์๊ณ run ์ ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ check ๊ฐ ๋์ง ์์ ๊ฒ์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋กค๋ฐฑ์ ๋ฐ์์ํจ๋ค.