JAVA 32강_예외처리(Exception)

YEONG EUN LEE (Chloe)·2024년 1월 8일

JAVA 기초

목록 보기
38/42

예외처리(Exception)

: 예측가능한 에러를 정상종료가 되도록 처리하는 방법

Exception클래스 : 예외처리의 최고 조상 클래스(자료형)

예외처리 방법

1. 책임감이 강한 형

: try ~ catch 문(짝임, 반드시 같이 존재해야 함)
try문에서 발생된 에러는 catch문에서 해결함. 내가 발생시킨 에러를 내가 처리함.
try문 : 해당 실행문들을 감싸는 위치에 존재
catch문 : try 문에서 발생되는 에러를 처리하는 명령문을 감싸는 위치에 존재함

형식 :
try{
	실행코드들;

} catch (예외처리자료형명 객체명){
//try문에서 에러가 발생될 경우 처리할
 실행코드들;
 ...;
} [finally{
에러가 발생이 되든, 발생이 되지 않든 반드시 try ~ catch문에 실행된 후
마지막에 실행되는 부분의 코드들을 기술;}]

2. 책임전가형

: throws
: 위치 메소드 선언문의 ( ) 소괄호 뒤에 존재함.
: 위치 메소드 선언문의 ( ) 소괄호 뒤에 존재함.

형식 :

[접근제어자][기타제어자]리턴타입 메소드명([매개변수들...]) throws 예외처리자료형명, ...{
실행코드들...;
}

3. 예시

public class ExceptionEx00 {

//	public static void main(String[] args) {
//		try {
//			System.out.println("1111");
//			Class c = Class.forName("String"); // java.lang.String Class.forName ---> 정확한 경로 기술 필수
//			System.out.println(c);
//		} catch(Exception e) { // 어떤 종류의 에러인지 잡는 역할, Exception 모든 에러...
//			System.out.println(e);
//		}
//		System.out.println("시스템 정상 종료"); // 정상 종료만 프로그램을 모두 실행하고 종료하는 것.
//
//	}

	
	public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException {
		System.out.println("1111");
		Class c1 = Class.forName("String");
		System.out.println(c1);
		System.out.println("2222");
}
	
}
public class ExceptionEx01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("1111");
		int c; // 지역변수 --> 자동초기화값 없음
//		c = 4/0;
		System.out.println("2222");
		try {
			System.out.println("3333");
			c = 4 / 0; // 나누고 몫을 가져옴. 나누어지는 수 피젯수
			System.out.println("4444");
		}catch(ArithmeticException e){
			System.out.println("젯수(나누는 수)는 0이 될 수 없습니다. \n이상이 되도록 변경해주세요.");
		}
		System.out.println("5555");
		System.out.println("시스템 종료");

	}

}
예외 메소드설명
.toString()에러에 대한 간단한 설명을 반환함. .getMessage()와 유사함
.getMessage()에러에 대한 자세한 설명을 반환함
.printStackTrace()에러의 종류와 에러가 발생한 위치를 반환함.
예외의 종류설명
ArithmeticException산술 연산 에러
ArrayIndexOutOfBoundsException배열의 범위 에러(배열 범위가 주어진 것보다 작거나 클 때 발생)
NumberFormatException숫자값이 아닌 다른 자료형 입력시 에러
Exception자바의 전체 에러 범위

0개의 댓글