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("정수로만 입력하셔야 합니다..ㅜㅜ");
}
}
}
}
'Language > JAVA' 카테고리의 다른 글
[JAVA 기초 이론] 스레드 Thread (0) | 2023.05.22 |
---|---|
[JAVA 기초 이론] 오버로딩 / 오버라이딩 (0) | 2023.05.22 |
[JAVA 기초 이론] 추상클래스 abstract (0) | 2023.05.19 |
[JAVA 기초 이론] 캡슐화 private / getter / setter (0) | 2023.05.18 |
[JAVA 기초 이론] 상속 extends (0) | 2023.05.18 |