λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ—‚.λŒ€μ™Έν™œλ™/πŸ“.μΉ΄μΉ΄μ˜€ν΄λΌμš°λ“œμŠ€μΏ¨

[JAVA] μ˜ˆμ™Έ Exception

by πŸ’Ύκ³ κ΅¬λ§ˆλ§›νƒ•λ¨Ήκ³ μ‹Άλ‹€ 2023. 12. 20.
728x90

🚨 였λ₯˜ Error

  1. 컴파일 였λ₯˜: 문법(Syntax)이 μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ μƒνƒœ
  2. μ‹€ν–‰μ˜€λ₯˜(Runtime Error)
    1. μ—λŸ¬: μ‹œμŠ€ν…œμ΄ 정상적 κΈ°λŠ₯을 μˆ˜ν–‰ν•  수 μ—†λŠ” μƒνƒœ – 수슡 λΆˆκ°€
    2. μ˜ˆμ™Έ: μ‹€ν–‰ 쀑 예기치 μ•Šμ€ 문제 λ°œμƒν•œ μƒνƒœ – 수슡 κ°€λŠ₯
  3. λ…Όλ¦¬μ˜€λ₯˜: ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ›ν•˜λŠ” κ²°κ³Όκ°€ μ‚°μΆœλ˜μ§€ μ•Šμ€ μƒνƒœ

Exception: μ˜ˆμ™Έ 잘λͺ»λœ μ‚¬μš©, μ½”λ”©μœΌλ‘œ μΈν•œ 였λ₯˜μ΄λ‹€.

  • 일반 μ˜ˆμ™Έ(Exception): μ»΄νŒŒμΌλŸ¬κ°€ μ˜ˆμ™Έ 처리 μ½”λ“œ μ—¬λΆ€λ₯Ό κ²€μ‚¬ν•˜λŠ” μ˜ˆμ™Έμ΄λ‹€.
  • μ‹€ν–‰ μ˜ˆμ™Έ(Runtime Exception): μ»΄νŒŒμΌλŸ¬κ°€ μ˜ˆμ™Έ 처리 μ½”λ“œ μ—¬λΆ€λ₯Ό κ²€μ‚¬ν•˜μ§€ μ•ŠλŠ” μ˜ˆμ™Έμ΄λ‹€.

by. hjun0917

πŸ›  μ˜ˆμ™Έ 처리

κ°‘μž‘μŠ€λŸ¬μš΄ μ’…λ£Œλ₯Ό 방지해 ν”„λ‘œκ·Έλž¨μ„ 정상 μˆ˜ν–‰ν•  수 μžˆλ„λ‘ ν•˜λŠ” 것이닀. 

try{
    // μ˜ˆμ™Έ λ°œμƒ κ°€λŠ₯μ„± μ½”λ“œ μž‘μ„±
} catch(Exception e){
    // λ°œμƒλœ μ˜ˆμ™Έ 처리
}

 

🧩 μ˜ˆμ‹œ μ½”λ“œ

더보기
package mycom.dept.test;

public class Main {
	public static void main(String[] args) {
		int i=0;
		int j=100;
		
		try { 
			// ν•΄λ‹Ή 였λ₯˜λŠ” 사전에 미리 λ°©μ§€ν•˜λŠ” 것이 μ’‹λ‹€. 
			// ν•˜μ§€λ§Œ ν•™μŠ΅μš©μœΌλ‘œ μž‘μ„±ν•˜μ˜€λ‹€.
			System.out.println(j/i);
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		
	}
}

catch 문을 μ—¬λŸ¬κ°œ μž‘μ„±ν•˜λ©΄ ν•΄λ‹Ή 였λ₯˜λ₯Ό κ°€μž₯ λ¨Όμ € λ§Œλ‚˜λŠ” catch문이 μ‹€ν–‰λœλ‹€. μ•„λž˜μ™€ 같이 μž‘μ„±ν•˜λ©΄ FileNotFoundException에 ν•΄λ‹Ήν•˜λŠ” μ˜ˆμ™Έμ²˜λ¦¬κ°€ μ‹€ν–‰λœλ‹€. Exception을 μž‘μ„±ν•  λ•ŒλŠ” λͺ¨λ“  μ˜ˆμ™Έλ₯Ό λ‹€ μ²˜λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— κ°€μž₯ μ•„λž˜μͺ½μ— μž‘μ„±ν•˜λŠ” 것이 μ’‹λ‹€.

μ™œλƒν•˜λ©΄ λͺ¨λ“  μ˜ˆμ™Έ 처리 ν΄λž˜μŠ€λŠ” Exception 클래슀λ₯Ό μƒμ†λ°›μ•˜κΈ° λ•Œλ¬Έμ— Exception μ˜ˆμ™ΈλŠ” λͺ¨λ“  μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•  수 μžˆλ‹€. 

package mycom.dept.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class Main {
	public static void main(String[] args) {
		try { 
			
			FileInputStream fileInputStream = new FileInputStream("a.txt");
			
		} catch (FileNotFoundException e) {
			
			System.out.println(e.getMessage());
			
		} catch (Exception e) {
			
			System.out.println("μ˜ˆμ™Έ");
			
		}
		
	}
}

728x90