Item 70. Checked Exception & RuntimeException

๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์—๋Š” ๊ฒ€์‚ฌ ์˜ˆ์™ธ๋ฅผ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฅ˜์—๋Š” ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ.

์ž๋ฐ”๋Š” ๋ฌธ์ œ ์ƒํ™ฉ์„ ์•Œ๋ฆฌ๋Š” ํƒ€์ž…์œผ๋กœ ๊ฒ€์‚ฌ ์˜ˆ์™ธ(checked exception)์™€ ๋น„๊ฒ€์‚ฌ throwable์ธ ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ(runtime exception), ์—๋Ÿฌ(error)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์–ธ์ œ ๋ฌด์—‡์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€๋Š” ์™„์ „ํžˆ ๋”ฐ๋ผ์•ผํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์–ด๋А์ •๋„ ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ์ง€์นจ๋“ค์ด ์กด์žฌํ•œ๋‹ค.

  • ํ˜ธ์ถœํ•˜๋Š” ์ชฝ์—์„œ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ: ๊ฒ€์‚ฌ ์˜ˆ์™ธ ์‚ฌ์šฉ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ ์‚ฌ์šฉ

  • ๋” ์ด์ƒ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ: ์—๋Ÿฌ ์‚ฌ์šฉ

Checked Exception

๊ฒ€์‚ฌ ์˜ˆ์™ธ๋Š” ๋ฐœ์ƒํ•˜๋ฉด ๊ทธ ์˜ˆ์™ธ๋ฅผ catch๋กœ ์žก์•„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ throws๋กœ ๋˜์ ธ ํ˜ธ์ถœํ•˜๋Š” ์ชฝ์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒ€์‚ฌ ์˜ˆ์™ธ๋ฅผ ๋˜์ ธ ํ˜ธ์ถœํ•˜๋Š” ์ชฝ์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๊ฐ•์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋ฉด ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ชฝ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ๋‹ค.

RuntimeException

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ๋Š” ๋ณดํ†ต ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ๋Š” ์—๋Ÿฌ๋ฅผ ์žก์„ ํ•„์š”๊ฐ€ ์—†๊ฑฐ๋‚˜, ํ†ต์ƒ์ ์œผ๋ก  ์žก์ง€ ์•Š๋Š”๋ฐ, ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ์ผ ์ˆ˜ ์žˆ์Œ

  • ๋” ์‹คํ–‰ํ•ด๋ด์•ผ ์˜๋ฏธ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋“๋ณด๋‹ค๋Š” ์‹ค์ด ๋งŽ์„ ์ˆ˜ ์žˆ์Œ

๋•Œ๋ฌธ์— ๋ณดํ†ต์€ ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ๋ฅผ ์žก์ง€ ์•Š๊ณ , ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋Š” ์ ์ ˆํ•œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋‚ด๋ฑ‰์œผ๋ฉฐ ์ค‘๋‹จ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค. ๋งŒ์•ฝ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จ๋œ๋‹ค๋ฉด ๊ฒ€์‚ฌ ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ, ํ™•์‹ ํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ์—” ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

Error

์—๋Ÿฌ๋Š” ๋ณดํ†ต JVM์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ, Error ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ง์ ‘ ๋˜์ง€๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค.(AssertionError๋Š” ์˜ˆ์™ธ) ๋•Œ๋ฌธ์— ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋น„๊ฒ€์‚ฌ throwable์€ ๋ชจ๋‘ RuntimeException์˜ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.

Throwable

Throwable์€ ๊ฒ€์‚ฌ ์˜ˆ์™ธ, ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ, ์—๋Ÿฌ์˜ ์ตœ์ƒ์œ„ ํด๋ž˜์Šค์ธ๋ฐ, ์ด ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ผ์€ ์—†์œผ๋‹ˆ, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•˜์ž.

Last updated

Was this helpful?