μ μ : νλ‘κ·Έλ¨ μ€νμ λ°μν μ μλ μμΈμ λ°μμ λλΉν μ½λλ₯Ό μμ±νλ κ²
λͺ©μ : νλ‘κ·Έλ¨μ λΉμ μ μ’
λ₯λ₯Ό λ§κ³ , μ μμ μΈ μ€ν μνλ₯Ό μ μ§νλ κ²
try {
//μμΈλ°μν κ°λ₯μ±μ΄ μλ λ¬Έμ₯
}catch(Exception1 e1) {
//Exception1μ΄ λ°μνμ κ²½μ°, μ΄λ₯Ό μ²λ¦¬νμ§ μν λ¬Έμ₯ μ κΈ°
}catch(Exception2 e2) {
//Exception2μ΄ λ°μνμ κ²½μ°, μ΄λ₯Ό μ²λ¦¬νμ§ μν λ¬Έμ₯ μ κΈ°
}catch(ExceptionN eN) {
//ExceptionNμ΄ λ°μνμ κ²½μ°, μ΄λ₯Ό μ²λ¦¬νμ§ μν λ¬Έμ₯ μ κΈ°
}
μμΈκ° λ°μνμ§ μμλ€λ©΄ catch λΈλμ κ±°μΉμ§ μκ³ λΉ μ Έλκ°!
printStackTrace()
: μμΈλ°μ λΉμμ νΈμΆμ€νμ μμλ λ©μλμ μ 보μ μμΈ λ©μΈμ§λ₯Ό νλ©΄μ μΆλ ₯
=> μλ¬μ λ°μκ·Όμμ§λ₯Ό μ°Ύμμ λ¨κ³λ³λ‘ μλ¬λ₯Ό μΆλ ₯
getMessage()
: λ°μν μμΈν΄λμ€μ μΈμ€ν΄μ€μ μ μ₯λ λ©μΈμ§λ₯Ό μ»μ μ μμ
=> μλ¬μ μμΈμ κ°λ¨νκ² μΆλ ₯
μ°μ°μ newλ₯Ό μ΄μ©ν΄ λ°μμν€λ €λ μμΈ ν΄λμ€μ κ°μ²΄λ₯Ό λ§λ€κΈ°
-> Exception e = new Exception("κ³ μλ‘ λ°μμμΌ°μ");
ν€μλ throwλ₯Ό μ΄μ©ν΄ μμΈλ°μ
-> throw e;
void method() throws Exception1, Exception2, ... ExceptionN {
// λ©μλ λ΄μ©
}
void method() throws Exception {
// λ©μλ λ΄μ©
}
-> μμΈμ μ΅κ³ μ‘°μ Exception ν΄λμ€λ₯Ό λ©μλμ μ μΈνλ©΄
μ΄ λ©μλλ λͺ¨λ μ’
λ₯μ μμΈκ° λ°μν κ°λ₯μ±μ΄ μλ€λ λ»