์์ธ
์์ธ์ฒ๋ฆฌ
- ํ๋ก๊ทธ๋จ ์คํ์ ๋ฐ์ํ ์ ์๋ ์๊ธฐ์น ๋ชปํ ์์ธ์ ๋ฐ์์ ๋๋นํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ.
- ๋ชฉ์ : ์์ธ์ ๋ฐ์์ผ๋ก ์ธํ ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋น์ ์์ข ๋ฃ๋ฅผ ๋ง๊ณ , ์ ์์ ์ธ ์คํ์ํ ์ ์งํ๊ธฐ.
์์ธ
- ๊ฐ์ฒด. ๋ณ์์ ๋ฌถ์.
- ๋ฉ์๋๋ฅผ ์ด์ฉํด โ์์ธ์ ๋ณดโ๋ฅผ ์ป์ ์ ์์. (์ด๋์ ๋ฐ์? ์ด๋ค ์์ธ?)
- printStackTrace( ): ์์ธ ๋ฐ์๋น์ ํธ์ถ ์คํ์ ์๋ ๋ฉ์๋์ ์ ๋ณด, ์์ธ ๋ฉ์์ง๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํจ.
- getMessage( ): ๋ฐ์ํ ์์ธํด๋์ค์ ์ธ์คํด์ค์ ์ ์ฅ๋ ๋ฉ์์ง๋ฅผ ์ป์ ์ ์์.
์์ธ ์ฒ๋ฆฌ
์์ธ ์ง์ ์ฒ๋ฆฌํ๊ธฐ try-catch๋ฌธ
- ์ง์ ์ฒ๋ฆฌ๋ ์์ธ๊ฐ ๋ฐ์ํ ์์น์์ ์์ธ๋ฅผ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ๋ ๊ฒ
- ๊ฒ์ฌ๊ฒฐ๊ณผ๊ฐ true์ธ catch๋ธ๋ญ์ ๋ง๋ ๋๊น์ง ๊ฒ์ฌ ๊ณ์ ๋จ. ํ๋๋ ์ ๋ง์ผ๋ฉด ์์ธ์ฒ๋ฆฌ ์๋จ.
- ๊ทธ๋์ ๋ชจ๋ ์์ธ์ ์กฐ์์ธ Exception์ ๋ง์ง๋ง์
์ ์ธํ๊ธฐ๋ ํจ.
์์ธ์ฒ๋ฆฌํ๊ธฐ try-catch๋ฌธ
๋ฉํฐcatch๋ธ๋ก
- ๋ฐ์ํ๋ ์๋ก ๋ค๋ฅธ ์์ธ์ ๋ํ์ฌ ๊ฐ์ ์ฒ๋ฆฌ๋ฅผ ํด๋ ๋ ๋ ๋ฉํฐcatch๋ธ๋ก์ผ๋ก ํํํ ์ ์์. ๋์ ๋์ด ์กฐ์-์์ ๊ด๊ณ์ผ ๋๋ ์กฐ์ ํ๋๋ง ํํํด๋ ๋จ. โ|โ ๊ธฐํธ๋ก ์ฐ๊ฒฐํจ.
์์ธ ์์ฑํ๊ธฐ
- ํ๋ก๊ทธ๋จ์ ์คํ ์ค์ ์์ธ๋ฅผ ์ธ์์ ์ผ๋ก ๋ฐ์์ํค๋ ๊ฒ(ํน์ ์กฐ๊ฑด์ด ๋ง์กฑ ๋์ง ์์ ๋ ์์ธ๋ฅผ ๋ฐ์์์ผ, ์์ธ ์ฒ๋ฆฌ ์ฝ๋๊ฐ ์คํ๋๋๋ก ํ๋ ๊ฒ)
- ํค์๋ โthrowโ๋ฅผ ์ด์ฉํด ๊ณ ์๋ก ์์ธ ๋ฐ์์ํค๊ธฐ.
- ์ฐ์ฐ์ new๋ก ์์ธ ๊ฐ์ฒด ๋ง๋ค๊ธฐ
- Exception e = new Exception(โ๊ณ ์โ);
- ์์ฑ์์ String์ ๋ฃ์ด์ฃผ๋ฉด Exception์ธ์คํด์ค์ ๋ฉ์์ง๋ก ์ ์ฅ๋จ.
์์ธ ๋ ๋๊ธฐ๊ธฐ
- ๋ฉ์๋ ๋ด์์ ์์ธ๋ฅผ ์ง์ ๋์ ธ ํธ์ถํ ์ชฝ์ผ๋ก ์์ธ๋ฅผ ์ ๋ฌํ๋ ๊ฒ.
- throw e;
- ํ์ฌ ์์ธ ๊ฐ์ฒด โeโ๊ฐ ๋ค์ ๋์ ธ์ง. ์ดํ ์์ฑ๋์ด์๋ ์์ธ ์ฒ๋ฆฌ ์ฝ๋์ ๋ฐ๋ผ ์คํ๋จ.
- ๋์ง ์์ธ๋ ํธ์ถํ ์ชฝ์์ ์ฒ๋ฆฌ๋์ด์ผ ํจ.
์์ธ ์ ์ธํ๊ธฐ
- ๋ฉ์๋ ์๊ทธ๋์ฒ์ ํด๋น ๋ฉ์๋๊ฐ ๋ฐ์์ํฌ ์ ์๋ ์์ธ๋ฅผ ๋ช ์ํ๋ ๊ฒ.
- public void myMethod( ) throws IOException { ... } ์ ๊ฐ์ด ๋ฉ์๋ ์ ์ธ๋ถ์ throws ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ๋ฉ์๋์์ IOException ์์ธ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๊ฒ์ ๋ช ์ํ ์ ์์.
- ์์ธ ์ ์ธ์ ํตํด ํด๋น ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๊ณณ์์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํ ์ ์์.
์ฌ์ฉ์ ์ ์ ์์ธ ๋ง๋ค๊ธฐ
- ํ์์ ๋ฐ๋ผ ์์ธํด๋์ค๋ฅผ ์์๋ฐ๋ ์๋ก์ด ์์ธ ํด๋์ค๋ฅผ ์ ์ํ ์ ์์.
- Exceptionํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฉด checked์์ธ.
- RunTimeExceptionํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฉด unchecked์์ธ๊ฐ ๋จ. ์ต๊ทผ ํธ๋ ๋์.
์์ธ ๋๋์ง๊ธฐ
- ๋ฉ์๋ ๋ด์์ ์์ธ๋ฅผ ์ฒ๋ฆฌํ์ง ์๊ณ , ํด๋น ๋ฉ์๋๋ฅผ ํธ์ถํ ๊ณณ์ผ๋ก ์์ธ๋ฅผ ๋๊ธฐ๋ ๊ฒ
- ํธ์ถํ ๊ณณ์์ ํด๋น ์์ธ๋ฅผ ์ฌ์ฒ๋ฆฌํ๊ฑฐ๋, ์์ธ๋ฅผ ๋ ์์ ํธ์ถ์์๊ฒ ์ ๋ฌํ๊ฑฐ๋, ๋ค๋ฅธ ์์ธ๋ก ๋ณํํ์ฌ ์ฒ๋ฆฌํ ์ ์์.
- ์์ธ ์ ์ธํ๊ธฐ, ์์ธ ๋ ๋๊ธฐ๊ธฐ๊ฐ ํฌํจ๋ ์ ์์.
- ๋ฉ์๋ ์ ์ธ๋ถ์ throws ์ ์ ์ถ๊ฐํ์ฌ ํด๋น ๋ฉ์๋์์ ๋ฐ์ํ ์ ์๋ ์์ธ๋ฅผ ๋ช ์ํด์ผํจ.
์์ธ ๋๋์ง๊ธฐ ์ฒ๋ฆฌ ์ํฉ
์ฐ๊ฒฐ๋ ์์ธ
- ํ ์์ธ๊ฐ ๋ค๋ฅธ ์์ธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ.
- Throwableํด๋์ค์ ์ ์๋ ๋ฉ์๋
- initCause( Throwable cause ): ์ง์ ๋ ์์ธ๋ฅผ ์์ธ ์์ธ๋ก ๋ฑ๋กํจ.
- getCause( ): ์์ธ ์์ธ ๋ฐํํ๊ธฐ
์ฐ๊ฒฐ๋ ์์ธ์ ์ฅ์
- ์ฌ๋ฌ ๊ฐ์ง ์์ธ๋ฅผ ํ๋๋ก ๋ฌถ์ด์ ๋ค๋ฃฐ ์ ์์.
- checked์์ธ๋ฅผ unchecked์์ธ๋ก ๋ณ๊ฒฝํ ์ ์์.
try-with-resource๋ฌธ
- try๋ฌธ์ ( )๊ดํธ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฌธ์ฅ์ ๋ฃ์ผ๋ฉด ์ด ๊ฐ์ฒด๋ try๋ธ๋ญ์ ๋ฒ์ด๋๋ ์๊ฐ ์๋์ ์ผ๋ก close( )๊ฐ ํธ์ถ๋จ.
- ๊ทธ๋ค์์ catch๋ finally๋ธ๋ญ์ด ์ํ๋จ. ๋ ๋ฌธ์ฅ ์ด์ ์์ฑ ์ ; ๋ก ๊ตฌ๋ถํจ.
'๐ฅ๏ธ ๋ฐฑ์๋ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ch.9] String, StringBuffer, StringBuilder ํด๋์ค (0) | 2023.11.13 |
---|---|
[ch.9] Object, Objects ํด๋์ค (0) | 2023.11.13 |
[ch.7] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(2) (1) | 2023.11.11 |
[ch.7] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (1) | 2023.11.11 |
[ch.6] ๊ฐ์ฒด์งํฅ์ธ์ด (0) | 2023.11.11 |