예외처리를 하려면 일일이 발생할 모든 예외를 내가 catch해줘야 작동하는 줄 알았다.
따라서 '그렇게 일일이 내가 발생할 예외를 다 작성해야 한다면 예외처리를 할 필요가 없이 if로 처리하면 되는 게 아닌가?'라는 의문을 가지고 있었다.
그러다가
https://www.youtube.com/watch?v=I4XrVgCzKM4
위 영상을 통해 내가 의문을 가지고 있던 부분이 명료(?)해 졌다.
package javaStandarad;
public class ExceptionTest {
public static void main(String[] args) {
System.out.println(1);
System.out.println(2);
try {
System.out.println(3);
System.out.println(0/0);
System.out.println(4);
}
// catch(ArithmeticException e) {
// System.out.println(e);
// System.out.println(5);
// }
catch(Exception e) {
System.out.println(e);
System.out.println(6);
}
System.out.println("종료");
}
}
뭐 웬만한 예외는 내가 만들어서 처리해주되
내가 못 잡은 것은
catch(Exception e){
}
해당 블럭에서 다 잡아준다는 것을 알게됐다.
if와 달리 예외처리의 장점이
'예외가 발생 했을 때 비정상적 종료를 막아주는 기능'이라고만 알고 있었는데
해당 강의를 통해 왜 에러처리가 if로 다 작성하는 거 보다 좋은지에 대해 알 수 있는 기회였다.
또한 '자바의 정석'이라든지 이런 기본서를 한 번은 봐야 할 필요성을 느꼈다.
(사실 맘 같으면 '자바의 신'이라는 책을 보고 싶지만 일단 집에 있는 책이 '자바의 정석'이니..)
'공부' 카테고리의 다른 글
공부거리 (0) | 2023.09.17 |
---|---|
wsl + ubuntu + docker + docker-compose + superset + oracle (0) | 2023.09.17 |
김영한 http강의 - http 메서드 (0) | 2023.08.17 |
김영한 http강의 (0) | 2023.08.17 |
db 스프링에 연결 (0) | 2023.06.12 |