Java ์๋ฌ ์ฒ๋ฆฌ
๐ก์๋ฐ ์๋ฌ ์ฒ๋ฆฌ
๋ณธ ๋ด์ฉ์ ์๋ฐ์ ์ ์์ ๋ฐํ์ผ๋ก ์์ฑ
โ ๊ฐ์ธ์ด ๊ณต๋ถํ ๋ด์ฉ์ ์ ์ ๊ฒ ์ด๊ธฐ์ ์ค๋ฅ๊ฐ ๋ง์ ์๋ ์์
2022-02-01
ํ๋ก๊ทธ๋จ ์ค๋ฅ
- ์ปดํ์ผ ์๋ฌ (Complie error) : ์ปดํ์ผ ํ ๋ ๋ฐ์ํ๋ ์๋ฌ โ ์ฝ๋์ณค๋๋ฐ ๋ฐ์ ํ๋ ์๋ฌ(์ดํด๋ฆฝ์ค๊ฐ ์ค๋ฅ๋ฅผ ์ฒดํฌํด์ค)
- ๋ฐํ์ ์๋ฌ (Rutime error) : ์คํ ํ ๋ ๋ฐ์ํ๋ ์๋ฌ โ ์ฝ๋๋ฅผ ์คํํ๋๋ฐ ๋ฐ์ํ๋ ์๋ฌ, ํ๋ก๊ทธ๋จ ์ข ๋ฃ
- ๋ ผ๋ฆฌ์ ์๋ฌ (logical error) : ์์ฑ ์๋์ ๋ค๋ฅด๊ฒ ๋์ โ ํ๋ก๊ทธ๋จ ์ข ๋ฃ x
JAVA์ ๋ฐํ์ ์๋ฌ
- ์๋ฌ(Error) : ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ํด์ ์์ต๋ ์ ์๋ ์ฌ๊ฐํ ์ค๋ฅ
- ์์ธ(Exception) : ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ํด์ ์์ต๋ ์ ์๋ ๋ค์ ๋ฏธ์ฝํ ์ค๋ฅ
๐์์ธ(Exception) ์ถ๊ฐ ์ค๋ช
- ์์ธ๋ Exception๊ณผ ๊ทธ ์์๋ค , RuntimeException๊ณผ ๊ทธ ์์๋ค๋ก ๋๋์ด์ง๋ค.
- Exception๊ณผ ๊ทธ์์๋ค์ checked ์์ธ๋ค (์์ธ ์ฒ๋ฆฌ ํ์)
- RuntimeException๊ณผ ๊ทธ ์์๋ค์ unchecked ์์ธ (์๋ฌ ์ฒ๋ฆฌ ์ ํ)
์์ธ ์ฒ๋ฆฌ try~catch
printStackTrace์ getMessage
- printStackTrace() : ์์ธ๋ฐ์ ๋น์์ ํธ์ถ์คํ(Call Stack)์ ์์๋ ๋ฉ์๋์ ์ ๋ณด์ ์์ธ ๋ฉ์ธ์ง๋ฅผ ํ๋ฉด์ ์ถ๋ ฅ
- getMessage() : ๋ฐ์ํ ์์ธํด๋์ค์ ์ธ์คํด์ค์ ์ ์ฅ๋ ๋ฉ์ธ์ง๋ฅผ ์ป์
์์ธ ๋ฐ์์ํค๊ธฐ
- ์ฐ์ฐ์ new๋ฅผ ์ด์ฉํด์ ๋ฐ์์ํค๋ ค๋ ์์ธ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค์ Exception e = new Exception(โ๊ณ ์๋ก ๋ฐ์์ํดโ);
- ํค์๋ throw๋ฅผ ์ด์ฉํด์ ์์ธ๋ฅผ ๋ฐ์์ํจ๋ค. throw e;
Finally
- ์์ธ ๋ฐ์์ฌ๋ถ์ ๊ด๊ณ์์ด ์ํ๋์ด์ผ ํ๋ ์ฝ๋๋ฅผ ๋ฃ๋๋ค.
์ฌ์ฉ์ ์ ์ ์์ธ
- ์ง์ ์์ธ ํด๋์ค ์ ์ ๊ฐ๋ฅ
- ์กฐ์์ Exception๊ณผ RuntimeException ์ค์์ ์ ํ
์์ธ ๋๋์ง๊ธฐ (Exception re-throwing)
- ์์ธ๋ฅผ ์ฒ๋ฆฌํ ํ์ ๋ค์ ์์ธ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ
- ํธ์ถํ ๋ฉ์๋์ ํธ์ถ๋ ๋ฉ์๋ ์์ชฝ ๋ชจ๋์์ ์์ธ์ฒ๋ฆฌํ๋ ๊ฒ
Leave a comment