์ด์ ์ ๊ธ์์ ์์ธ์ฒ๋ฆฌ์ ๋ํด ๋ค๋ฃฌ์ ์ด ์๋ค. ๊ธ์ ๋ค์ ์ฝ์ด๋ณด๋ค ๋ณด๋ Runtime Exception ์ ๋ํด ์ ๋๋ก ์์ ํ์ง ์์์ ์์ธ ์ฒ๋ฆฌ๊ฐ ์ค์ํ ๋งํผ ๋ค์ ํ ๋ฒ ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค.
๐ 1. ์์ธ ์ฒ๋ฆฌ๋?
์์ธ ์ฒ๋ฆฌ๋, ์์ธ๋ ์๋ฌ๊ฐ ๋ฐ์ ๊ฐ๋ฅํ ์ํฉ์ ๋ฏธ์ฐ์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๊ฐ๋ฐ์๊ฐ ์ฝ๋ ์์ผ๋ก ๋ฏธ๋ฆฌ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ
๐ 2. ์์ธ (Exception) ์ ์๋ฌ (Error)
โก ์์ธ(Exception)๋ ?
์์ธ๋ Checked Exception๊ณผ Unchecked Exception์ผ๋ก ๋๋๋ค. Checked Exception์ Unchecked Exception์ ์ ์ธํ ๋ชจ๋ ์์ธ์ด๋ค. ์ปดํ์ผ ์ ์์ธ๋ฐ์ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ๊ณ ์์ธ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ฉด, Unchecked Exception ์ Runtime Exception๊ณผ ๊ทธ ํ์ ํด๋์ค๋ค๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ์ปดํ์ผ ์ ์์ธ ๋ฐ์ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ์ง ์๋๋ค.
โก ์๋ฌ(Error)๋ ?
์๋ฌ(Error)๋, ํ๋ก๊ทธ๋จ์ด ์ค์๋๋๊ฑฐ๋ ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋์ด ๋ณต๊ตฌํ ์ ์๋ ์ฌ๊ฐํ ์ํฉ์ ์์ธ์ ์๋ฌ๋ผ๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, ๋ฉ์๋ ๋ฌดํ ํธ์ถ, ์คํ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋๋ ์ํฉ์ด ์๋ค. ์ด๋ฌํ ์ํฉ์ ๋ฐ์์ํค๋ ์์ธ์ด ์๋ฌ์ด๋ค.
๋ํ ์ด ์๋ฌ๋ ์ปดํ์ผ ์๋ฌ์ ๋ฐํ์ ์๋ฌ๋ก ๋ถ๋ฅ๋๋ค.
- ์ปดํ์ผ ์๋ฌ
- ์ปดํ์ผ ์ ๋ง์ถค๋ฒ, ์ธ๋ฏธ์ฝ๋ก ์๋ต ๋ฑ ๊ฐ๋ฐ์๊ฐ ์์ค์ฝ๋ ๋ฌธ๋ฒ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ํ๋ ์ค๋ฅ
- ๋ฐํ์ ์๋ฌ
- ๋ฐํ์ ๋จ๊ณ์์ ๋ฌดํ ๋ฃจํ, ๋ ํฌ์ธํธ ์๋ฌ, ์๋ชป๋ ๋ฉ๋ชจ๋ฆฌ ์ฐน์กฐ ๋ฑ ํ๋ก๊ทธ๋จ ์ค๊ณ ๋ฏธ์์ผ๋ก ์ธํ ์ค๋ฅ
๐ 3. ์์ธ ํด๋์ค
์๋์ ๊ทธ๋ฆผ์ ์ฐธ๊ณ ํ๋ฉด ๋๋ค. ์๋ฌ์ ์์ธ๋ก ๋๋๊ณ ์์ธ ํด๋์ค๋ค์ ๋ชจ๋ Throwable ํด๋์ค๋ฅผ ์์ ๋ฐ๋๋ค.
๐ 4. Checked Exception VS Unchecked Exception
์์ ๊ทธ๋ฆผ์์ Exception ํด๋์ค๋ ์ฌ๋ฌ ์์ ์์ธ ์ฒ๋ฆฌ ํด๋์ค๋ค์ ๊ฐ์ง๊ณ ์๋ค.
์ด ๋ Checked Exception ๊ณผ Unchecked Exception ๋ ๊ฐ์ง๋ก ๋๋ ์ ์๋ค. ๋์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ์์ธ ์ฒ๋ฆฌ์ ํ์ ์ฌ๋ถ์ด๋ค.
Checked Exception ์ ๋ฐ๋์ ์์ธ ์ฒ๋ฆฌํด์ผ ํ๋ ํด๋์ค๋ค์ด๊ณ Unchecked Exception์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๋ฐ๋์ ํ์ง ์์๋ ๋๋ ํด๋์ค๋ค์ด๋ค.
- Checked Execption
- Runtime Exception์ ์ ์ธํ ๋ชจ๋ ์์ธ ํด๋์ค
- ๋ฐ๋์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ ์์ธ ํด๋์ค
- ์ปดํ์ผ ๋จ๊ณ์์ ํ์ธ๋ ์์ธ
- Ex) IOException, SQLException ๋ฑ
- Unchecked Exception
- Runtime Exception ๊ณ์ด์ ์์ธ ํด๋์ค
- ์ ํ์ ์ผ๋ก ์์ธ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๊ฐ๋ฐ์๋ค์ ๋ก์ง ์ค๋ฅ๋ก ๋ฐ์ํ๋ ์ค๋ฅ๋ค์ด๋ฏ๋ก ์์ธ ์ฒ๋ฆฌ๊ฐ ํ์๊ฐ ์๋
- Ex) NullPointerException, IndexOutOfBoundException
'๐ป BackEnd > ๐จ Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐จ [Java] [Project] ๊ฐ๋จํ ์ผํ๋ชฐ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ (0) | 2023.06.20 |
---|---|
๐จ [Java] [ํด๋์ค] ์๋ฐ ํด๋์ค (0) | 2023.04.25 |
๐จ [Java] Exception(์์ธ ์ฒ๋ฆฌ) (0) | 2023.04.19 |
๐จ [Java] ๋ผ์ด๋ธ๋ฌ๋ฆฌ / ๋ชจ๋ (0) | 2023.04.18 |
๐จ [Java] ๋ฌผํ ์ฌ๊ณ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (0) | 2023.04.09 |