[JAVA] 예외 처리

gogori6565·2022년 9월 24일
0

JAVA

목록 보기
7/11

예외 처리 : 컴파일 오류났을 때 이 경우 처리 어떻게 할래?

예외(Exception)

: 오동작이나 결과에 악영향을 미칠 수 있는 실행 중 발생한 오류

  1. 정수를 0으로 나누는 경우
  2. 배열크기 보다 큰 인덱스로 원소에 접근한 경우
  3. 존재하지 않는 파일 읽는 경우
  4. 정수 입력을 기다리는 코드가 실행될 때, 문자가 입력된 경우

자바에서 try-catch-finally 문으로 예외 처리 가능.
만약 응용프로그램이 예외 처리하지 않는다면, 프로그램 강제 종료.

try-catch-finally 문

finally 블록은 생략 가능

try {
	예외가 발생할 가능성이 있는 실행문(try 블록)
} 
catch (처리할 예외 타입 선언) {
	예외 처리문(catch 블록)
}
finally { //생략 가능
	예외 발생 여부와 상관없이 무조건 실행되는 문장(finally 블록)
}

사용 예시

import java.util.Scanner;
import java.util.InputMismatchException;

public class Problem15_Multiply {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("곱하고자 하는 두 수 입력>>");
		
		while(true) {
			try{
				int n=scanner.nextInt();
				int m=scanner.nextInt();
				System.out.print(n+"x"+m+"="+n*m);
				break; //정수 곱셈 정상 출력된 경우 반복 그만
			}
			catch(InputMismatchException e) {
				System.out.println("실수는 입력하면 안됩니다.");
			}
		}
		scanner.close();
	}
}
  • 예외 타입 사용 시 import 로 해당 예외 클래스를 불러와야함
import java.util.InputMismatchException;
  • catch문에 예외 타입 작성하고 뒤에 e 붙여야함
    아마 e 의미가 이벤트 타입? 이라고 알고 있음
catch(InputMismatchException e)
profile
p(´∇`)q

0개의 댓글