Defining your own Exception classes
constructors
์ฌ์ฉ์๊ฐ ๋ง๋ exception์ Exception ํด๋์ค์ child Class ๋ผ๋ ๊ฒ์ ๊ผญ ๊ธฐ์ตํ๊ธฐ
์ฐ๋ฆฌ๊ฐ ํ ๊ฒ์ Constructor๋ง ๋ง๋๋ ๊ฒ์ด๋ค!!
Exception์ ์์ฑํด ๋์ง๊ฒ ๋๋ ๋ฌธ์์ด์ Object์์ ์กด์ฌํ๋ instance ๋ณ์์ ์ ์ฅ์ด ๋๊ณ getMessage ๋ฉ์๋๋ฅผ ํตํด์ ๋ฆฌํด์ ํ๊ฒ ๋๋ค.
general ํ๊ฒ ๋ฏธ๋ฆฌ ์์ฑ๋ Exception์ผ๋ก ๋์ง๊ฒ ๋๋ฉด catch block์์ general ํ Exception์ผ๋ก ๋ฐ๊ณ
๋ง์ฝ ์ฌ์ฉ์๊ฐ ์์ฑํ Exception์ผ๋ก ๋์ง๋ฉด ์ฌ์ฉ์๊ฐ ์์ฑํ specifical ํ exception ์ผ๋ก ๋ฐ์ผ๋ฉด ๋๋ค.
์ฌ๊ธฐ์๋ ๋ง์ฐฌ๊ฐ์ง๋ก "Is a relation"์ด ์ฑ๋ฆฝํ๋ค,
์ฌ์ฉ์๊ฐ ์์ฑํ Specify๋ exception์ผ๋ก ๋์ง๊ณ generalํ Exception์ผ๋ก ๋ฐ๊ฒ ๋๋ ์ฑ๋ฆฝํ๋ค๋ ์๊ธฐ
JVM, program, JVM
Error๋ Throwable์ subClass์ด๊ณ Java Virtual Machine์์ throw ํด์ค๋ค.
Exception์ program์ ์ํด์ throw ํด์ง๊ณ ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ชจ๋ exception์ Exception ์ sub class ๊ฐ ๋๋ค.
RuntimeException์ JVM์ ์ํด์ throw๋๊ณ Exception์ subClass์ด๋ค.
Unchecked Exception
: ์ปดํ์ผ์ ํ ๋ error์ธ์ง error๊ฐ ์๋์ง ์ฒดํฌํ์ง ์๋๋ค. ์ฆ, error์ run-time exception์ ํด๋นํ๋ ์๋ฌ๋ค์ ์ปดํ์ผ๋ฌ๊ฐ ์ฒดํฌ๋ฅผ ํ์ง ์๋๋ค. ์๋ฌ๊ฐ ์์ด๋ ๊ทธ๋ฅ ๋์ด๊ฐ๊ฒ ๋๋ค.
Checked Exception
: ์ปดํ์ผ๋ฌ๊ฐ ์ฒดํฌ๋ฅผ ํ๊ณ ์๋ฌ๊ฐ ์์ผ๋ฉด ๋ฐ๋ก ์๋ฌ ๋ฉ์์ง๋ฅผ ๋๋ฆฐ๋ค."must be caught or declared in the throw clause" ์๋ฌ๋ฌธ์ด ๋ฌ๋ค. ๊ฐ์ฅ ๋ํ์ ์ธ ๊ฒ์ด IOException์ด๋ค.
throws๊ฐ ์๋ค๋ฉด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ์ธก์์ ๋ฐ๋์ try-catch๋ฅผ ์งํํด์ ํ๋ก๊ทธ๋จ์ ์์ฑํด์ผ ํ๋ค. ์ด๊ฒ์ Checked Exception์ด๋ผ๊ณ ํ๋ค.
NumberformatException์ด ๋ฐ์ํ๋ค.
run-time error์ด๊ณ ์ปดํ์ผ์ ํ ๋ ์๋ฌ๋ฅผ ์ก์๋ด์ง ๋ชปํ์ง๋ง ๋ค๋ฅธ ํ์์ด ์ฃผ์ด์ง๋ฉด ๋ค์๊ณผ ๊ฐ์ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ฒ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด catch block์์ ์๋ฌ๋ฉ์์ง ๋ฌธ์ฅ์ ๋ฐ๊พผ๋ค๋ฉด ์๋ฌ์ฐฝ์ ๋จ๋ ๋ฉ์์ง๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
'๐ Major Study (Bachelor) > ๐ JAVA Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVAFX 9.4 (0) | 2021.11.06 |
---|---|
JAVA ํ๋ก๊ทธ๋๋ฐ 9.3 (0) | 2021.11.02 |
JAVA ํ๋ก๊ทธ๋๋ฐ 9.1 (0) | 2021.11.02 |
JAVA ํ๋ก๊ทธ๋๋ฐ 8.4 (0) | 2021.10.29 |
JAVA ํ๋ก๊ทธ๋๋ฐ 8.3 (0) | 2021.10.29 |