| - | Checked Exception | Unchecked Exception |
|---|---|---|
| ์ฒ๋ฆฌ ์ฌ๋ถ | ๋ฐ๋์ ์์ธ์ฒ๋ฆฌ ํด์ผ ํจ | ์์ธ์ฒ๋ฆฌ ํ์ง ์์๋ ๋จ |
| ๋ํ Exception | IOException SQLException |
NullPointerException IllegalArgumentException |
- Unchecked Exception์ RuntimeException์ ์์
- Checked Exception์ RuntimeException์ ์์ํ์ง ์์
- 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์ ์งํํ์ง ์๋ ์ ๋ ์๊ณ ์์ด์ผ ์ค์๋ฅผ ๋ฐฉ์งํ ์ ์๋ค.