> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java Exception Handling (Try-catch)

jini:) 2023. 11. 1. 09:52
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Exception Handling > Java Exception Handling (Try-catch)
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

 

예외 처리는 계산 중 예외(특수 처리가 필요한 비정상적이거나 예외적인 조건)의 발생에 응답하는 프로세스이며, 종종 프로그램 실행의 정상적인 흐름을 변경합니다. (위키피디아)

 

Java에는 예외를 처리하는 내장 메커니즘이 있습니다. try 문을 사용하여 코드 블록에 오류가 있는지 테스트할 수 있습니다. catch 블록에는 예외가 발생한 경우 수행할 작업을 나타내는 코드가 포함되어 있습니다.

이 문제는 try-catch 블록에 대한 지식을 테스트합니다.

두 개의 정수 x와 y가 입력으로 주어지며 x / y를 계산해야 합니다. x와 y가 32비트 부호 있는 정수가 아니거나 y가 0이면 예외가 발생하여 보고해야 합니다. 예외 발생 시 보고할 내용을 알아보려면 샘플 입력/출력을 읽으십시오.

 

Sample Input 0

10
3

 

Sample Output 0

3

 

Sample Input 1

10
Hello

 

Sample Output 1

java.util.InputMismatchException

 

Sample Input 2

10
0

 

Sample Output 2

java.lang.ArithmeticException: / by zero

 

Sample Input 3

23.323
0

 

Sample Output 3

java.util.InputMismatchException

 

반응형

 

Code

import java.io.*;
import java.util.*;

public class Solution {

    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 scn = new Scanner(System.in);
        try {
            int x = scn.nextInt();
            int y = scn.nextInt();
            System.out.println( x / y );
        }
        catch (InputMismatchException e) {
            System.out.println( e.getClass().getName() );
        }
        catch (Exception e) {
            System.out.println( e );
        }
    }
}

 

 

예외 처리
프로그램 실행 중에 발생할 수 있는 예외 상황을 처리하고 프로그램이 오류 없이 계속 실행될 수 있도록 하는 방법을 제공.

try-catch
예외 처리를 구현하는 데 사용.

try
예외가 발생할 가능성이 있는 코드를 둘러싼 부분.
이 블록 내에서 예외가 발생할 수 있는 코드를 작성.
예외가 발생하면 try 블록 내에서 실행이 중단되지 않고 해당 예외를 처리하기 위해 연결된 catch 블록으로 제어 전달.
try 블록은 반드시 하나 이상의 catch 블록과 함께 사용.

catch
예외가 발생했을 때 어떻게 처리할지 정의.
try 블록 다음에 나타나며, 예외를 처리할 수 있는 하나 이상의 catch 블록을 사용.
각 catch 블록은 특정 예외 클래스를 처리, 해당 예외가 발생하면 실행.
예외 객체는 catch 블록 내에서 사용, 보다 구체적인 예외 정보를 얻을 수 있다.

다중 catch
여러 종류의 예외를 처리해야 할 경우 사용.
각 catch 블록은 다른 예외 클래스를 처리.

finally
예외의 발생 여부와 관계없이 항상 실행되는 코드를 포함.
try-catch 블록 다음에 나타나며, 선택적으로 사용.
주로 리소스 정리 및 정리 코드를 작성하는 데 사용.

catch (InputMismatchException e)
특정 유형의 예외, InputMismatchException 클래스에 해당하는 예외를 처리하기 위해 사용.

catch (Exception e)
모든 예외 클래스를 처리하기 위해 사용.

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형