JAVA 8강_1_예외(Exception), error 예시 3개

열라뽕따히·2024년 2월 20일

JAVA

목록 보기
49/79

에러(error)

  • 하드웨어의 오동작 또는 고장으로 인한 오류
  • 에러가 발생하면 프로그램 종료
  • 정상 실행 상태로 돌아갈 수 없음

예외(exception)

  • 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류
  • 예외가 발생하면 프로그램 종료
  • 예외 처리를 추가해 주면 정상 실행 상태로 돌아갈 수 있음
  • 프로그램을 위한 보험 처리. 위험한 상황에서 다른 코드를 보호하는 방식

예외의 종류

1. 일반(컴파일) 예외

  • 예외 처리 코드가 없다면 컴파일이 되지 않는 에러

2. 실행 예외

  • 예외 처리 코드를 생략하더라도 컴파일이 되는 예외 즉, 컴파일 하는 과정에서 예외 처리 코드를 검사하지 않는 예외를 말함
  • 경험에 따라 예외 처리 코드를 작성할 필요가 없음

예외 처리의 목적

  • 프로그램을 실행 시 발생할 수 있는 상황들을 미리 정해 놓고, 예외가 발생했을 경우에 대비하는 코드를 작성하여 프로그램이 정상적으로 작동하게 하기 위함




<error 예시1>



=============================코드=============================

public static void main(String[] args) {
		
		System.out.println("프로그램 시작");
		
		int num1 = 10, num2 = 0;
		
		int result = num1 / num2;
		
		System.out.println("result >>> " + result);
		
		System.out.println("프로그램 종료");
		
	}

}

=============================실행=============================


에러가 뜸!!! 10을 0으로 나눌 수 없기 때문!



<error 예시2>


=============================코드=============================

public static void main(String[] args) {
		
		System.out.println("프로그램 시작");
		
		String str1 = "korea";
		
		String str2 = null;  // 값이 없는 상태
		
		// length() : 현재 문자열의 길이를 정수값으로 반환해주는 메서드
		System.out.println("str1 문자열의 길이 >>> " + str1.length());
		
		System.out.println("str2 문자열의 길이 >>> " + str2.length());
		
		System.out.println("프로그램 종료");

	}

=============================실행=============================

문자형에 값이 없는 상태이기 때문에 마찬가지로 에러가 뜸!



<error 예시3>


=============================코드=============================

public static void main(String[] args) {
		
		System.out.println("프로그램 시작");
		
		Scanner sc = new Scanner(System.in);
		
		//System.out.println("정수 하나를 입력하세요 : ");  << 없을 경우 프로그램 시작 이후로 아무것도 안 뜸!
		
		int su = sc.nextInt();
		
		System.out.println("입력 받은 정수 >>> " + su);
		
		System.out.println("프로그램 종료");
		
		sc.close();

	}

=============================실행=============================

입력 받을 출력문이 없기 때문에 에러가 뜸

0개의 댓글