22.5.10 [HackerRank]Exception Handler(Try-Catch)

서태욱·2022년 5월 10일
0

Algorithm

목록 보기
40/45
post-thumbnail

✅ 문제 분석

예외 처리는 예외 발생시 응답하는 프로세스다.
try문은 오류에 대한 코드 블록을 테스트할 수 있고
catch문은 예외가 발생할 경우 수행할 코드가 작성된다.
finally문은 예외가 발생하든 발생하지 않든 반드시 실행해야 하는 부분에 대해
코드를 작성하게 된다.

두개의 정수 x, y가 주어진다. x/y를 계산해야 하는데 만약 x,y가 32비트의 정수가 아니거나, y가 0이라면 예외를 발생해 report해야 한다.

🌱 배경지식

예외 처리의 기본 틀

try {
  // block of code that can throw exceptions
} catch (Exception ex) {
  // Exception handler
} finally {
	System.out.println("여기는 반드시 실행되는 부분")
}

✏️ 해설

import javax.swing.*;
import java.io.*;
        import java.util.*;

public class ExceptionHandlingTryCatch {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner sc = new Scanner(System.in);
        try{
            int a = sc.nextInt();
            int b = sc.nextInt();
            System.out.println(a/b);
        }
        catch (InputMismatchException e){ // 정수로 입력해야 하는데 문자를 입력한 경우 예외 발생
            System.out.println(e.getClass().getName());
        } // 무슨 예외가 발생할지 모를 때에는 모든 예외의 부모 클래스인 Exception class를 이용해 catch에서 인자를 받아도 된다. 
        //인텔리제이에서는 아래 Exception만 해도 아웃풋이 잘 됐는데, 해커랭크에서는 통과 불가. 
        // inputMistmatch가 발생할 것을 미리 사전에 알고 있으므로 명시해주는 차원인가..
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

👉 참고

profile
re:START

0개의 댓글