Skip to content

Latest commit

ย 

History

History
22 lines (21 loc) ยท 1.86 KB

File metadata and controls

22 lines (21 loc) ยท 1.86 KB

Checked Exception ๋Œ€ํ•˜๊ธฐ

Checked Exception ๊ณผ Unchecked Exception ์ฐจ์ด

- Checked Exception Unchecked Exception
์ฒ˜๋ฆฌ ์—ฌ๋ถ€ ๋ฐ˜๋“œ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•ด์•ผ ํ•จ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•˜์ง€ ์•Š์•„๋„ ๋จ
๋Œ€ํ‘œ Exception IOException
SQLException
NullPointerException
IllegalArgumentException
  • Unchecked Exception์€ RuntimeException์„ ์ƒ์†
  • Checked Exception์€ RuntimeException์„ ์ƒ์†ํ•˜์ง€ ์•Š์Œ

Checked Exception

  • Checked Exception์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณต๊ตฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง
    • ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ Checked Exception์ด ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ ๋ณต๊ตฌ ์ „๋žต์„ ๊ฐ–๊ณ  ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ๋งŽ์ง€ ์•Š์Œ
    • ์˜ˆ์‹œ) Unique ํ•ด์•ผ ํ•  ์•„์ด๋”” ๊ฐ’์ด ์ค‘๋ณต๋˜์–ด SQLException ๋ฐœ์ƒ ์‹œ ์–ด๋–ค ๋ณต๊ตฌ ์ „๋žต์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”๊ฐ€?
      • ๊ทธ๋ƒฅ RuntimeException ๋ฐœ์ƒ์‹œํ‚จ ํ›„ ์œ ์ €์—๊ฒŒ ์ž…๋ ฅ์„ ๋‹ค์‹œ ์œ ๋„ํ•˜๋Š” ํŽธ์ด ๋‚˜์€ ์ „๋žต์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
  • Exception์„ ๋ฐœ์ƒ์‹œํ‚ฌ ๋•Œ ์–ด๋–ค ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ Exception์ด ๋ฐœ์ƒํ•œ ๊ฒƒ์ธ์ง€ ๋ช…ํ™•ํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ค‘์š”
    • ์œ„ ์˜ˆ์‹œ์—์„œ๋Š” DuplicateUniqueException (Unchecked Exception)์„ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ
    • ์ฆ‰ ๋” ๊ตฌ์ฒด์ ์ธ Unchecked Exception์„ ๋ฐœ์ƒ์‹œ์ผœ์•ผ ํ•จ

์ •๋ฆฌ

  • ์˜ˆ์™ธ ๋ณต๊ตฌ ์ „๋žต์ด ๋ช…ํ™•ํ•˜๊ณ  ๊ทธ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด Checked Exception์„ try catch ๋กœ ์žก๊ณ  ๋ณต๊ตฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ํ•˜์ง€๋งŒ ์˜ˆ์™ธ ๋ณต๊ตฌ ์ „๋žต์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๋Š” ํ”์น˜ ์•Š์œผ๋ฉฐ Checked Exception์ด ๋ฐœ์ƒํ•˜๋ฉด ๋” ๊ตฌ์ฒด์ ์ธ Unchecked Exception์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ  ์˜ˆ์™ธ์— ๋Œ€ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ๊ณผ์ ์ด๋‹ค.
  • ๋ฌด์ฑ…์ž„ํ•˜๊ฒŒ ์ƒ์œ„ ๋ฉ”์„œ๋“œ๋กœ throw ํ•˜๋Š” ํ–‰์œ„๋Š” ์ข‹์ง€ ์•Š๋‹ค.
  • Checked Exception ์€ ๊ธฐ๋ณธ ํŠธ๋žœ์žญ์…˜์˜ ์†์„ฑ์—์„œ๋Š” Rollback์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š๋Š” ์ ๋„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.