λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Programming/Java

20 Exceptions

by Dowon Kang 2024. 1. 21.

μžλ°”(Java)μ—μ„œ μ˜ˆμ™Έ(Exception)λŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ μ€‘에 λ°œμƒν•  μˆ˜ μžˆλŠ” μ˜ˆμƒμΉ˜ λͺ»ν•œ μƒν™© λ˜λŠ” μ˜€λ₯˜λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

μ΄λŸ¬ν•œ μ˜ˆμ™ΈλŠ” ν”„λ‘œκ·Έλž¨μ˜ μ •μƒμ μΈ νλ¦„을 λ°©ν•΄ν•˜κ±°λ‚˜ ν”„λ‘œκ·Έλž¨μ΄ λΉ„μ •μƒμ μœΌλ‘œ μ’…λ£Œλ  μˆ˜ μžˆλŠ” μ›μΈμ΄ λ  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μžλ°”μ—μ„œλŠ” μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ λ‹€μ–‘ν•œ λ©”μ»€λ‹ˆμ¦˜μ΄ μ œκ³΅λ©λ‹ˆλ‹€.

 

 

 

 

μ˜ˆμ™Έ (Exception)

μ˜ˆμ™ΈλŠ” μ£Όλ‘œ ν”„λ‘œκ·Έλž¨μ˜ μ™ΈλΆ€ μƒν™©μ΄λ‚˜ μ‚¬μš©μž μž…λ ₯에 μ˜ν•΄ λ°œμƒν•˜λŠ” λ¬Έμ œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ˜ˆμ™ΈλŠ” μΌλ°˜μ μœΌλ‘œ ν”„λ‘œκ·Έλž¨ μ½”λ“œμ—μ„œ μ²˜λ¦¬ν•  μˆ˜ μžˆλŠ” μƒν™©μ΄λ©°, μ˜ˆμ™Έκ°€ λ°œμƒν•˜λ©΄ ν”„λ‘œκ·Έλž¨μ€ μ˜ˆμ™Έλ₯Ό μ μ ˆνžˆ μ²˜λ¦¬ν•˜μ—¬ κ³„속 μ‹€ν–‰λ  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μžλ°”μ—μ„œλŠ” μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ try-catch λΈ”둝을 μ‚¬μš©ν•©λ‹ˆλ‹€. Checked μ˜ˆμ™Έμ™€ Unchecked μ˜ˆμ™Έ(λŸ°νƒ€μž„ μ˜ˆμ™Έ)둜 λ‚˜λ‰©λ‹ˆλ‹€.

 

1) IOException: Checked μ˜ˆμ™Έμ˜ μΌμ’…μœΌλ‘œ, μž…μΆœλ ₯ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” λ™μ•ˆ λ°œμƒν•  수 μžˆλŠ” μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 μ‚¬μš©

  • 주둜 μ™ΈλΆ€ μžμ›μ— μ ‘κ·Όν•  λ•Œ λ°œμƒν•  수 μžˆλŠ” μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 주둜 ν™œμš©
  • νŒŒμΌμ„ μ½κ±°λ‚˜ μ“Έ λ•Œ 파일이 μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ κΆŒν•œμ΄ μ—†λŠ” κ²½μš°μ— IOException이 λ°œμƒ
  • μ»΄νŒŒμΌλŸ¬κ°€ μ˜ˆμ™Έ 처리 μ—¬λΆ€λ₯Ό 확인 (μ˜ˆμ™Έ 처리 ν•„μˆ˜)

 

2) RuntimeException: Unchecked μ˜ˆμ™Έμ˜ μƒμœ„ ν΄λž˜μŠ€μž…λ‹ˆλ‹€. 즉, μ»΄νŒŒμΌλŸ¬κ°€ μ˜ˆμ™Έ 처리λ₯Ό κ°•μ œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • ν”„λ‘œκ·Έλž˜λ¨Έμ˜ μ‹€μˆ˜λ‚˜ 잘λͺ»λœ μ‚¬μš©μ— κΈ°μΈν•œ μ˜ˆμ™Έ. 주둜 논리 였λ₯˜λ‚˜ 잘λͺ»λœ ν”„λ‘œκ·Έλž˜λ° κ΄€ν–‰μœΌλ‘œ μΈν•œ 였λ₯˜μ— ν•΄λ‹Ή
  • μ»΄νŒŒμΌλŸ¬κ°€ μ˜ˆμ™Έ 처리 μ—¬λΆ€ 확인 ν•˜μ§€ μ•ŠμŒ (μ˜ˆμ™Έ μ²˜λ¦¬λŠ” 선택) 

 

 

 

μ—λŸ¬ (Error)

μ—λŸ¬λŠ” μ£Όλ‘œ μ‹œμŠ€ν…œμ΄λ‚˜ ν™˜κ²½κ³Ό κ΄€λ ¨λœ μ‹¬κ°ν•œ λ¬Έμ œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ—λŸ¬λŠ” λŒ€λΆ€λΆ„ ν”„λ‘œκ·Έλž¨ μ½”λ“œμ—μ„œ μ§μ ‘μ μœΌλ‘œ ν•΄κ²°ν•  μˆ˜ μ—†λŠ” μƒν™©μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ˜ˆλ₯Ό λ“€λ©΄, OutOfMemoryError와 κ°™μ΄ λ©”λͺ¨λ¦¬ λΆ€μ‘± λ¬Έμ œ, StackOverflowError와 κ°™μ΄ μŠ€νƒ μ˜€λ²„ν”Œλ‘œμš° λ¬Έμ œ λ“±μ΄ μ—¬κΈ°μ— ν•΄λ‹Ήν•©λ‹ˆλ‹€. μ—λŸ¬λŠ” μ£Όλ‘œ ν”„λ‘œκ·Έλž¨μ˜ λ³΅κ΅¬κ°€ λΆˆκ°€λŠ₯ν•œ μƒν™©μ„ λ‚˜νƒ€λ‚΄λ©°, λ³΄ν†΅ ν”„λ‘œκ·Έλž¨ μ’…λ£Œλ₯Ό μ•ΌκΈ°ν•©λ‹ˆλ‹€.

 

 

 


An exception is an unexpected event that occurs during program execution. Exceptions can be caught and handled by the program. When an exception occurs within a method, it creates an object. This object is called the exception object. It contains information about the exception such as the name and description of the exception and state of the program.

 

Errors represent irrecoverable conditions such as memory leaks, stack overflow errors etc. Errors are usually beyond the control of the programmer and we should not try to handle errors.

'Programming > Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

22 throw & throws  (0) 2024.01.21
21 Exception handling  (0) 2024.01.21
19 Interface  (0) 2024.01.20
18 Polymorphism  (0) 2024.01.20
17 Abstraction  (0) 2024.01.20

λŒ“κΈ€