이지은님의 블로그
241204 - Java 예외처리와 활용(try-catch-finally) 본문
▷ 오늘 하루 계획
연습문제를 3장 중반까지는 풀고 싶었으나 자바 코드 공부를 조금씩 하면서 문제풀이를 하다보니까 3장까지 하는 것은 어려워보였다. 하루에 대단원 하나씩 연습문제를 풀면서 java기초 문법을 공부해 나가면 좋을 것 같다.
▷ 오늘 배운 것
try{
//실행할 코드 입력
} catch(Exception e){
//에러 발생시 실행
} finally{
//에러 유무에 상관없이 실행할 코드 ex) scanner.close()
}
대부분 java의 기초 내용에 대해서는 알고있는데, try-catch처럼 오류에 대해 예외를 출력하는 방법에 대해서는 자세히 알지 못했다.
오늘 공부한 내용에서는 Scanner를 이용한 실수, 정수, 문자열 입력에 대한 내용이 포함되어 있었다. 만약 실수를 입력해야하는데 문자열을 입력한다면? 자료형이 double로 정해진 변수에 문자열을 지정하는 건 당연히 오류가 날 수 밖에 없다. 이러한 오류에 예외 처리를 해주는 것이 try-catch구문이다. 만약 try의 블럭에서 에러가 발생했다면 즉시 catch 블록에 작성된 코드 내용을 출력한다.
오류가 발생 했을 때: try -> catch -> finally
오류가 발생하지 않을 때: try -> finally
finally는 에러 유무에 상관없이 실행할 코드를 작성한다. 예를 들어 scanner.close()같이 사용한 클래스를 닫아주는 용으로 사용한다.
다음은 try-catch를 이용해서 작성한 코드이다.
import java.util.Scanner;
public class prac2_12_1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("연산>>");
try{
double x = scanner.nextDouble();
String c = scanner.next();
double y = scanner.nextDouble();
if(c.equals("+")){
System.out.println(x+c+y+"의 계산 결과는"+(x+y));
} else if(c.equals("-")){
System.out.println(x+c+y+"의 계산 결과는"+(x-y));
} else if(c.equals("*")){
System.out.println(x+c+y+"의 계산 결과는"+(x*y));
} else if(c.equals("/")){
if(y==0) System.out.println("0으로 나눌 수 없습니다");
else System.out.println(x+c+y+"의 계산 결과는"+(x/y));
}
} catch(Exception e){
System.out.println("입력값 확인");
} finally{
scanner.close();
}
}
}
▷ 앞으로
내일은 3장 연습문제를 풀어볼 것인데, 내용을 간단하게 살피자면 반복문, 배열, 예외처리에 대해 배울 것 같다. 이를 배우면서 더욱 깊이있는 코드를 짤 수 있을 것으로 기대한다.
'TIL' 카테고리의 다른 글
241206 - Java 클래스의 구조와 접근지정자 (0) | 2024.12.06 |
---|---|
241205 - Java 배열생성과 for-each반복문, 입력버퍼 오류 해결 (2) | 2024.12.05 |
241203 - Java 입력/출력 처리와 조건문 기본 실습(Scanner) (0) | 2024.12.03 |
231202 - SQL 서브쿼리, 그룹화를 이용한 조건에 따른 필터링(GROUP BY, HAVING, WHERE) (0) | 2024.12.02 |
241129 - SQL HAVING과 WHERE의 차이점 및 그룹화 후 조건 설정 (1) | 2024.11.29 |