알고리즘 연습 사이트
Day 16:Exceptions - String to Integer
코드를 작성하다 보면 예기치 못한 버그나 에러가 발생 할 수 있고 프로그램 동작이 멈출 수 있다.
그런 상황에서 자바와 같은 언어는 예외처리 기능을 제공한다.
* try catch finally
오류가 발생 할 수 있는 부분들을 try로 감싸고 catch로 에러를 잡는다.
finally 안에는 try로 감싼 지점을 벗어나서도 반드시 실행되야 하는 코드들을 작성한다.
finally로 감싸진 부분은 에러가 발생하더라도 무조건 실행되야 하는 코드를 작성한다.
* try with resources (1.7)
java.lang.AutoCloseable 이나 java.lang.Closeable 클래스들을 구현하는 클래스들의 exception 처리 시 자원을 자동으로 close 해주는 유용한 문법이다.
AuthCloseable과 Closeable 클래스를 구현하는 대표적인 클래스들은 Scanner, BufferedReader 등과 같은 IO 클래스들이다.
try(Scanner scan = new Scanner();){
// 잠재적으로 예외가 발생할 가능성이 있는 코드를 작성
} //괄호를 벗어나면 자원을 자동 해제
Closeable이나 AutoCloseable만 구현하는 클래스이기만 하면 예외 처리나 try 구문을 벗어날 때 자동으로 close() 가 호출된다.
오늘 문제는 String을 Integer로 변환하면서 숫자는 출력하고 문자열을 변환하려고 할 때는 try catch 구문을 이용해 에러 메시지를 출력하도록 한다.
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String S = in.next();
try{
int n = Integer.parseInt(S);
System.out.println(n);
}catch(Exception e){
System.out.println("Bad String");
}
}
}
댓글 없음:
댓글 쓰기