π μμΈμ²λ¦¬(Exception)
1. μμΈ(Exception)μ μ€λ₯(Error)
νλ‘κ·Έλ¨ μλ¬ λλ μ€λ₯λ λ°μμμ μ λ°λΌ 'μ»΄νμΌ μλ¬'μ 'λ°νμ μλ¬'λ‘ λλμ΄μ§λ€.
- 'μ»΄νμΌ μλ¬' μ»΄νμΌ ν λ λ°μνλ μλ¬
- 'λ°νμ μλ¬' νλ‘κ·Έλ¨μ μ€νλμ€μ λ°μνλ μλ¬
- 'λ Όλ¦¬μ μλ¬' μ€νμ λμ§λ§, μλμ λ€λ₯΄κ² λμνλ κ²
λ°νμ μλ¬ λ°©μ§λ₯Ό μν΄, μλ°λ μ€νμ λ°μν μ μλ νλ‘κ·Έλ¨ μ€λ₯λ₯Ό 'μλ¬'μ 'μμΈ' λκ°μ§λ‘ ꡬλΆνλ€.
- μ€λ₯(Error) : νλ‘κ·Έλ¨ μ½λμ μν΄μ μμ΅λ μ μλ μ¬κ°ν μ€λ₯
- μμΈ(Exception) : νλ‘κ·Έλ¨ μ½λμ μν΄μ μμ΅λ μ μλ λ€μ λ―Έμ½ν μ€λ₯
2. μμΈ ν΄λμ€μ κ³μΈ΅κ΅¬μ‘°
λͺ¨λ ν΄λμ€μ μ‘°μμ Objectν΄λμ€μ΄λ―λ‘ Exceptionκ³Ό Errorν΄λμ€ μμ Objectν΄λμ€μ μμμ΄λ€.
- Object : μλ°μμ κΈ°λ³Ένμ μ μΈν λͺ¨λ κ²μ κ°μ²΄λ€. μμΈλ κ°μ²΄μ΄λ€. λͺ¨λ κ°μ²΄μ μ΅μμ λΆλͺ¨λ Object
μ΄λ―λ‘ μμΈμ μ΅μμ λΆλͺ¨λ Object μ΄λ€. - Throwable : μ΅μμ μμΈμ΄λ€. νμμ Exception κ³Ό Error κ° μλ€.
- Error : λ©λͺ¨λ¦¬ λΆμ‘±μ΄λ μ¬κ°ν μμ€ν
μ€λ₯μ κ°μ΄ μ ν리μΌμ΄μ
μμ λ³΅κ΅¬κ° λΆκ°λ₯ν μμ€ν
μμΈμ΄λ€. μ ν
리μΌμ΄μ κ°λ°μλ μ΄ μμΈλ₯Ό μ‘μΌλ €κ³ ν΄μλ μλλ€.
κ·Έλ κΈ°μ Exceptionν΄λμ€λ₯Ό μ€μ μ μΌλ‘ λ΄μΌνλ€, μμΈ ν΄λμ€λ λ κ·Έλ£ΉμΌλ‘ λλμ΄μ§λ€.
- Exception ν΄λμ€μ κ·Έ μμλ€(RuntimeExceptionκ³Ό μμλ€μ μ μΈ)
- μ¬μ©μμ μ€μμ κ°μ μΈμ μΈ μμΈμ μν΄ λ°μνλ μμΈ
- RuntimeException ν΄λμ€μ κ·Έ μμλ€
- νλ‘κ·Έλλ¨Έμ μ€μλ‘ λ°μνλ μμΈ
νλ‘κ·Έλ¨μ μ€νλμ€μ λ°μνλ μλ¬λ μ΄μ© μ μμ§λ§, μμΈλ κ°λ°μκ° μ΄μ λν μ²λ¦¬λ₯Ό ν΄μ£Όμ΄μΌνλ€.
3. Checked Exception
Checked Exceptionμ RuntimeExceptionμ νμ ν΄λμ€κ° μλλ©΄μ Exception ν΄λμ€μ νμ ν΄λμ€λ€μ΄λ€.
μ²΄ν¬ μμΈμ νΉμ§μ λ°λμ μλ¬ μ²λ¦¬λ₯Ό ν΄μΌνλ νΉμ§(try/catch or throw)μ κ°μ§κ³ μλ€.
- μμΈ μ²λ¦¬λ₯Ό νμ§ μμΌλ©΄ μ»΄νμΌ μ€λ₯κ° λ°μνλ€.
- μ£Όλ‘ μμΈ‘ κ°λ₯ν μΈλΆ μμΈμ μν΄ λ°μνλ€.
Checked Exception μ¬μ© μ΄μ μ μμ
- μμ μ± κ°ν : νμΌ μ μΆλ ₯μ΄λ λ€νΈμν¬ ν΅μ λ± μ€ν¨ κ°λ₯μ±μ΄ λμ μμ μμ μμΈμ²λ¦¬λ₯Ό κ°μ νμ¬ νλ‘κ·Έλ¨μ μμ μ±μ λμΈλ€.
- λͺ μμ μμΈ μ²λ¦¬ : κ°λ°μκ° μ΄λ¬ν μμΈ μν©μ λ°λμ κ³ λ €νλλ‘ νλ€.
- μμ : IOException, SQLException, ClassNotFoundException λ±
4. Unchecked Exception
Unchecked Exceptionμ RuntimeExceptionμ νμ ν΄λμ€λ€μ μλ―Ένλ€.
μ΄κ²μ μ²΄ν¬ μμΈμλ λ¬λ¦¬ μλ¬ μ²λ¦¬λ₯Ό κ°μ νμ§ μκ³ , λ§ κ·Έλλ‘ μ€ν μ€μ(runtime) λ°μν μ μλ μμΈλ₯Ό λ»νλ€.
- λ°νμ μμ μ λ°μνλ€.
- μ£Όλ‘ νλ‘κ·Έλλ¨Έμ μ€μλ‘ μΈν΄ λ°μνλ€.
Unchecked Exception μ¬μ© μ΄μ μ μμ
- μ½λ κ°κ²°μ± μ μ§ : λͺ¨λ λ©μλμ μμΈ μ²λ¦¬λ₯Ό κ°μ νλ©΄ μ½λκ° λ³΅μ‘ν΄μ§ μ μμΌλ―λ‘, λΆνμν μμΈμ²λ¦¬λ₯Ό νΌν μ μλ€.
- νλ‘κ·Έλ¨ μ€λ₯ νν : μλͺ» λ μ½λμ μν΄ λ°μνλ μμΈμ΄λ―λ‘, νλ‘κ·Έλ¨μ μ€λ₯λ₯Ό λΉ λ₯΄κ² νμ ν μ μλ€.
- μμ : NullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException λ±
5. μμΈμ²λ¦¬λ?
νλ‘κ·Έλ¨ μ€ν μ λ°μν μ μλ μμΈμ λλΉν μ½λλ₯Ό μμ±νλ κ²μ΄λ€.
μμΈμ²λ¦¬μ νμμ±
- νλ‘κ·Έλ¨μ λΉμ μ μ’ λ£ λ°©μ§: μμΈλ₯Ό μ μ ν μ²λ¦¬νμ§ μμΌλ©΄ νλ‘κ·Έλ¨μ΄ μ€λ¨λ μ μμ΅λλ€.
- μ€λ₯ μμΈ νμ μ©μ΄: μμΈ μ 보λ₯Ό ν΅ν΄ μ΄λ€ λ¬Έμ κ° λ°μνλμ§ μ μ μμ΅λλ€.
- μμ κ΄λ¦¬: νμΌμ΄λ λ€νΈμν¬ μ°κ²° λ±μ μ μ ν λ«μ μ μμ΅λλ€.
'β€οΈ JAVA > Basic' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] thisμ this() (0) | 2024.10.22 |
---|---|
[JAVA] superμ super() (0) | 2024.10.21 |
[JAVA] μμ(Inheritance) (0) | 2024.10.20 |
[JAVA] μ μ΄μ(modifier) (0) | 2024.10.18 |
[JAVA] μμ±μ(consructor) (0) | 2024.10.17 |