Checked Exception vs UnChecked Exception

๋‘˜์˜ ์ฐจ์ด๋ฅผ ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด '๋ช…์‹œ์ ์œผ๋กœ ์—๋Ÿฌ ์ฒ˜๋ฆฌ(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 ๊ฐ€ ๋˜์ง€ ์•Š์€ ๊ฒƒ์ด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋กค๋ฐฑ์„ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

Last updated