Language/JAVA

[JAVA 기초 이론] 예외처리 try / catch / finally

오류나면꽥꽥 2023. 5. 21. 23:40
try - catch문 try - catch - finally문

 

try{
    예외가 발생되면, 즉시 catch문으로 이동
    예외가 발생하지 않았다면, 아무일도 일어나지 않는다!
    
    // 결제코드();  // 잔액부족  한도초과  카드점검기간  카드단말기
}
catch(예외클래스 e){
    해당 예외클래스의 문제가 발생되면,
    이곳의 코드를 수행
    
    // 결제된 곳까지의 돈을 다시 되돌려놓기 == rollback
}
finally{
    예외발생 여부와 무관하게 항상 수행되는 코드
    
    // 통신을 위해 확보해둔 모든 연결스트림 해제
}

 

 

 

✅ 예외처리하면 좋은점

- 프로그램이 비정상적으로 종료되는 것을 막을 수 있음!
- 예외가 발생되면서 커질 수 있는 피해들을 최소화 하는 것이 목표!

 

package class01;

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

public class Test03 {
	public static void main(String[] args) {

		// 정상적인 입력을 3번할때까지 계속

		Scanner sc=new Scanner(System.in);
		
		int cnt=0;
		while(cnt<3) {
			try {
				System.out.print("정수입력) ");
				int num=sc.nextInt();
				System.out.println("num= "+num);
				cnt++;
			}
			catch(InputMismatchException e) {
				sc.nextLine(); // 버퍼에 남아있는 쓰레기값을 제거하는 코드
				System.out.println("정수로만 입력하셔야 합니다..ㅜㅜ");
			}
		}
		
	}
}