Java ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ์ดˆ – try, catch, finally ๊ตฌ์กฐ ์™„์ „ ์ •๋ฆฌ

2025. 7. 3. 22:23ยทPrograming/JAVA

๐Ÿ“Œ ๋ณธ๋ฌธ

Java๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๋‹ค ๋ณด๋ฉด ์ž์ฃผ ๋งˆ์ฃผ์น˜๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ์žˆ์ฃ .
๋ฐ”๋กœ try, catch, finally์ž…๋‹ˆ๋‹ค.
์ด ๊ตฌ์กฐ๋Š” ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ”„๋กœ๊ทธ๋žจ์ด ๋น„์ •์ƒ ์ข…๋ฃŒ๋˜์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ํ•ต์‹ฌ ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค.
์˜ค๋Š˜์€ Java์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ์ดˆ๋ฅผ ํ•œ๋ˆˆ์— ์ •๋ฆฌํ•ด๋“œ๋ฆด๊ฒŒ์š”.


1. โš ๏ธ ์˜ˆ์™ธ(Exception)๋ž€?

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.
์˜ˆ: 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ, ๋ฐฐ์—ด ๋ฒ”์œ„ ์ดˆ๊ณผ ์ ‘๊ทผ, ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ ๋“ฑ

โ— ์˜ˆ์™ธ๊ฐ€ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ์ฆ‰์‹œ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.


2. ๐Ÿงฑ ๊ธฐ๋ณธ ๊ตฌ์กฐ – try / catch / finally

try {
    // ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์ฝ”๋“œ
} catch (Exception e) {
    // ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์ฒ˜๋ฆฌํ•  ์ฝ”๋“œ
} finally {
    // ์˜ˆ์™ธ์™€ ์ƒ๊ด€์—†์ด ํ•ญ์ƒ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}

3. ๐Ÿ“Œ ๊ฐ ๋ธ”๋ก ์„ค๋ช…

  • try: ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ
  • catch: ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์˜ˆ์™ธ ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„ ์ฒ˜๋ฆฌ
  • finally: ์˜ˆ์™ธ ๋ฐœ์ƒ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋ฌด์กฐ๊ฑด ์‹คํ–‰

์˜ˆ์‹œ: ํŒŒ์ผ ์—ด๊ณ  → ์ž‘์—… → ๋‹ซ๊ธฐ
→ ํŒŒ์ผ ๋‹ซ๋Š” ๋ถ€๋ถ„์€ finally์— ๋„ฃ๋Š” ๊ฒŒ ์ผ๋ฐ˜์ 


4. ๐Ÿ’ก ์˜ˆ์‹œ ์ฝ”๋“œ

public class ExceptionExample {
    public static void main(String[] args) {
        try {
            int result = 10 / 0; // ์˜ˆ์™ธ ๋ฐœ์ƒ
            System.out.println("๊ฒฐ๊ณผ: " + result);
        } catch (ArithmeticException e) {
            System.out.println("์˜ˆ์™ธ ๋ฐœ์ƒ: " + e.getMessage());
        } finally {
            System.out.println("ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์ฒ˜๋ฆฌ");
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์˜ˆ์™ธ ๋ฐœ์ƒ: / by zero  
ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์ฒ˜๋ฆฌ

5. ๐ŸŽฏ ์™œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?

  • ํ”„๋กœ๊ทธ๋žจ์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ ๋ฐฉ์ง€
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ช…ํ™•ํžˆ ์•ˆ๋‚ด
  • ์˜ˆ์™ธ ๋ฐœ์ƒ ํ›„์—๋„ ์•ˆ์ •์ ์ธ ํ๋ฆ„ ์œ ์ง€ ๊ฐ€๋Šฅ
  • ์œ ์ง€๋ณด์ˆ˜ ๋ฐ ๋””๋ฒ„๊น…์—๋„ ์ค‘์š”

โœ… ๋งˆ๋ฌด๋ฆฌ

Java์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ๋Š” ์ฒ˜์Œ์—” ๋‚ฏ์„ค์ง€๋งŒ,
์‹ค์ œ ๊ฐœ๋ฐœ์—์„œ๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๊ณณ์— ํ•„์ˆ˜๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
try, catch, finally์˜ ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ณ 
์ž‘์€ ์˜ˆ์ œ๋ถ€ํ„ฐ ์ง์ ‘ ์‹ค์Šตํ•ด๋ณด๋ฉด ์‰ฝ๊ฒŒ ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

'Programing > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Java Stream API ๊ธฐ์ดˆ โ€“ ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ์˜ ํ˜์‹ ์  ๋ฐฉ๋ฒ•  (0) 2025.07.08
์ž…์ถœ๋ ฅ INPUT / OUTPUT  (0) 2022.03.08
๋žŒ๋‹ค LAMBDA  (1) 2022.03.08
์ œ๋„ค๋ฆญ GENERIC  (0) 2022.03.08
์ปฌ๋ ‰์…˜ F/W COLLECTION  (2) 2022.03.07
'Programing/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Java Stream API ๊ธฐ์ดˆ – ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ์˜ ํ˜์‹ ์  ๋ฐฉ๋ฒ•
  • ์ž…์ถœ๋ ฅ INPUT / OUTPUT
  • ๋žŒ๋‹ค LAMBDA
  • ์ œ๋„ค๋ฆญ GENERIC
์—๋ธ”‘s
์—๋ธ”‘s
  • ์—๋ธ”‘s
    ์—๋ธ”
    ์—๋ธ”‘s
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (124)
      • Programing (39)
        • JSP (3)
        • JAVA (24)
        • Spring (7)
        • HTML (5)
      • ์ด์™ธ (15)
        • Git (5)
        • ์ž„์‹œ ์žก๋‹คํ•จ (6)
        • IntelliJ (1)
        • ์—๋Ÿฌ ๋ชจ์Œ (2)
      • OS (31)
        • Docker (6)
        • Kubernetes (12)
        • Linux (9)
        • DevOps (4)
      • DataBase (2)
        • Mysql (1)
      • ํ† ์ด ํ”„๋กœ์ ํŠธ (0)
        • ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ (0)
      • Spring (0)
      • ๊ฑด๊ฐ• & ์ƒํ™œ (18)
        • ์—ฌ๋ฆ„ ๊ฑด๊ฐ• (18)
      • ๊ณต๋ถ€ · ์ž๊ฒฉ์ฆ (1)
      • ๋ช…์–ธ๊ณผ ๋ฃจํ‹ด (3)
      • ๋ถ€๋™์‚ฐ or ์ฃผ์‹ (8)
        • ๋ถ€๋™์‚ฐ (6)
        • ์ฃผ์‹ (2)
      • ๊ฒฝ์ œ (7)
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ๋งํฌ

    • ๊นƒ ํ—ˆ๋ธŒ ์ฃผ์†Œ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ํƒœ๊ทธ

    error
    ์ธํ”„๋ผ๊ด€๋ฆฌ
    kubernetes
    IntelliJ
    spring-framwork
    ubuntu
    ํด๋ž˜์Šค
    ์ƒ์†
    yaml
    spring
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ๋ฐ๋ธŒ์˜ต์Šค
    ๊ฐœ๋ฐœํ™˜๊ฒฝ
    MVC
    HTML
    DevOps
    Docker
    java
    jsp
    Linux
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์—๋ธ”‘s
Java ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ์ดˆ – try, catch, finally ๊ตฌ์กฐ ์™„์ „ ์ •๋ฆฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”