μμΈμ²λ¦¬
1. κ°λ
μμΈ λ°μν κ²μ λλΉν΄μ νλ‘κ·Έλ¨μμ μ μ΄ν μ μλλ‘ μ²λ¦¬νλ κ°λ
μ€λ₯μλ λ€λ₯΄λ©° νλ‘κ·Έλ¨ μν λμ€μ λ°μν μ μλ μ₯μ μ λν λμ²
2. νΉμ§
- try~catch~finally ꡬ문μΌλ‘ μ μ΄
- μμΈ λκΈ°κΈ° μν΄ throws μ¬μ©
3. μμΈμ²λ¦¬ ν€μλ
- try λΈλ‘ : μμΈκ° λ°μν μ μλ μ½λ ν¬ν¨
- catch λΈλ‘ : try λΈλ‘ λ΄μμ λ°μν μμΈλ₯Ό μ²λ¦¬
- finally : μμΈ λ°μ μ¬λΆμ μκ΄ μμ΄ μ€νλμ΄μΌ νλ μ½λλ₯Ό ν¬ν¨
- throw : νλ‘κ·Έλ¨μμ μ§μ μμΈλ₯Ό λ°μμν€κΈ° μν΄ μ¬μ©
- throws : ν΄λΉ λ©μλμμ μ²λ¦¬νμ§ μκ³ νΈμΆμμκ² μμΈ μ²λ¦¬ μμ
4. μμΈμ²λ¦¬ λ°©μ
try {
// μμΈκ° λ°μλ λ§ν μ½λ
}
catch(FileNotFoundException e) {
// FileNotFoundExceptionμ΄ λ°μνλ€λ©΄ μ€ν
}
catch(IOE Exception e) {
// IOExceptionμ΄ λ°μνμλ€λ©΄ μ€ν
}
catch(Exception e) {
// FileNotFoundException, IOException μΈμ Exception λ°μνλ©΄ μ€ν
} finally {
// μμΈμ μκ΄μμ΄ λ¬΄μ‘°κ±΄ μ€λΈν
// μμΈμ λλ¨Έμ§ μ²λ¦¬, μμ ν΄μ μ©λ
}
5. μμ£Ό μ¬μ©λλ μμΈ ν΄λμ€
μ’ λ₯ | μ€λͺ |
NullPointerException | κ°μ²΄λ₯Ό μμ±νμ§ μκ³ μ°Έμ‘°ν κ²½μ° ν΄λΉ κ°μ²΄λ₯Ό μ°Έμ‘°ν μ μμ΄μ λ°μ |
InderOutOfBoundsException | λ°°μ΄μμ μΈλ±μ€ λ²μλ₯Ό μ΄κ³Όνμ λ λ°μ |
NumberFormatException | λ¬Έμμ΄μ μ«μλ‘ λ³νν λ ν΄λΉ λ¬Έμκ° μ«μ ννκ° μλλΌλ©΄ λ°μ |
ClassCastException | νμ©λμ§ μμ νμ μΌλ‘ λ³νν λ λ°μ |
IllegalArgumentException | 맀κ°λ³μκ° μλνμ§ μμ μν©μ μ λ°ν λ λ°μ |
ArithmeticException | μ°μ μ°μ°μ μ€λ₯ μμ λ λ°μ(μ: 0μΌλ‘ λλ κ²½μ°) |
6. κ°λ¨ν μμ
public class ExceptionExample {
public static void main(Strig[] args) {
try {
int[] numbers = {1, 2, 3};
System.out.println(numbers[3]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("λ°°μ΄μ λ²μλ₯Ό λ²μ΄λ μ κ·Όμ
λλ€.");
} finally {
System.out.println("μ΄ μ½λλ νμ μ€νλ©λλ€.");
}
}
}