πŸ” λ‚΄κ°€ 배운 λ‚΄μš© μš”μ•½


  1. μ˜ˆμ™Έ(Exception)λŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑 λ°œμƒν•˜λŠ” 비정상적인 상황
  2. μžλ°”λŠ” try-catch-finally ꡬ문으둜 μ˜ˆμ™Έλ₯Ό 처리
  3. μ˜ˆμ™ΈλŠ” Checked Exceptionκ³Ό Unchecked Exception으둜 λ‚˜λ‰¨
  4. throw, throws, μ‚¬μš©μž μ •μ˜ μ˜ˆμ™Έλ„ 쑴재

πŸ“š μžλ°” μ˜ˆμ™Έ 처리 κΈ°λ³Έ ꡬ쑰

Java

try {
    // μ˜ˆμ™Έ λ°œμƒ κ°€λŠ₯ μ½”λ“œ
} catch (μ˜ˆμ™Ένƒ€μž… λ³€μˆ˜λͺ…) {
    // μ˜ˆμ™Έ λ°œμƒ μ‹œ μ‹€ν–‰ν•  μ½”λ“œ
} finally {
    // μ˜ˆμ™Έ λ°œμƒ 여뢀와 관계없이 무쑰건 μ‹€ν–‰ (선택)
}

βœ… μ˜ˆμ‹œ

Java

try {
    int result = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("0으둜 λ‚˜λˆŒ 수 μ—†μŠ΅λ‹ˆλ‹€!");
} finally {
    System.out.println("μ˜ˆμ™Έ 처리 μ’…λ£Œ");
}

πŸ“š μ˜ˆμ™Έ 클래슀 계측 ꡬ쑰

PhP

Object
 └── Throwable
     β”œβ”€β”€ Error           (ν”„λ‘œκ·Έλž¨ μ’…λ£Œ μˆ˜μ€€ 였λ₯˜) ❌ λŒ€λΆ€λΆ„ μ²˜λ¦¬ν•˜μ§€ μ•ŠμŒ
     └── Exception
         β”œβ”€β”€ Checked Exception   (컴파일 μ‹œ 체크됨)
         └── Unchecked Exception (λŸ°νƒ€μž„ μ˜ˆμ™Έ)

βœ… Checked Exception (μ˜ˆμ™Έ 처리 ν•„μˆ˜)

μ˜ˆμ™Έ 클래슀 μ„€λͺ…
IOException 파일, λ„€νŠΈμ›Œν¬ μž…μΆœλ ₯ 였λ₯˜
SQLException DB κ΄€λ ¨ 였λ₯˜
ParseException λ‚ μ§œ/ν˜•μ‹ λ³€ν™˜ μ‹€νŒ¨
Java

public void readFile(String path) throws IOException {
    BufferedReader br = new BufferedReader(new FileReader(path));
    // ...
}