3.6 자바의 예외 처리
예외
- 실행 중 오동작이나 결과에 악영향을 미치는 예상치 못한 상황 발생
- 자바에서는 실행 중 발생하는 에러를 예외로 처리
- 응용프로그램이 예외를 처리하지 않으면 프로그램 강제 종료시킴
예외 발생 경우
- 정수를 0으로 나누는 경우
- 배열의 크기보다 큰 인덱스로 배열의 원소를 접근하는 경우
- 정수를 읽는 코드가 실행되고 있을 때 사용자가 문자를 입력한 경우
예외 처리, tray-catch
자바의 예외 클래스
예제 3-13
import java.util.Scanner;
public class practicemimi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int dividend; //나뉨수
int divisor; //나눗수
System.out.print("나뉨수를 입력하시오: ");
dividend = scanner.nextInt();
System.out.print("나눗수를 입력하시오: ");
divisor = scanner.nextInt();
try {
System.out.println(dividend + "를 " + divisor + "로 나누면 몫은 " + dividend/divisor + "입니다.");
}
catch(ArithmeticException e) {
System.out.println("0으로 나눌 수 없습니다.");
}
finally {
scanner.close();
}
}
}
예제 3-14
import java.util.InputMismatchException;
import java.util.Scanner;
public class practicemimi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("정수 3개를 입력하세요");
int n=0, sum=0;
for(int i=0; i<3; i++) {
System.out.print(i + ">>");
try {
n = scanner.nextInt();
}
catch(InputMismatchException e) {
System.out.println("정수가 아닙니다. 다시 입력하세요!");
scanner.next();
i--;
continue;
}
sum += n;
}
System.out.print("합은 " + sum);
scanner.close();
}
}
'Programming Languages > Java' 카테고리의 다른 글
[4장] 객체 지향의 특징/ 자바의 클래스와 객체 (0) | 2021.04.10 |
---|---|
[3장] Java 배열 선언 및 생성/ length 필드/ for-each문/ 2차원 배열 (0) | 2021.04.05 |
[3장] Java 반복문 (0) | 2021.03.30 |
[2장] 자바 조건문 (0) | 2021.03.24 |
4주차 스터디 인증 (0) | 2021.03.23 |