예외 7

[뉴렉처] 예외처리에서 예외란 무엇을 말하는가?

*구문오류 - 오타, 잘못 적어서 생기는 문제 *논리오류 - 내가 맞다고 생각하는 코드가 실제로 문제가 발생했을때, 논리오류는 해결하기 위해 가상의 테스트를 시간을 들여 진행하기도 한다. *예외 - 예를 들어 물리적으로 문제가 발생할 경우, 하드디스크에서 자료를 읽어와야 하는데 하드디스크 자체에 문제가 발생한 경우, 치명적인 문제는 아니지만 사용자가 입력값을 잘못 입력할 경우

Java_예외 - try-with-resource

close는 워낙 자주 해야 하는 일이고, 너무 중요한 일이기 때문에 java 7 부터 자동으로 close를 해주는 try-with-resource 가 추가 되었습니다. 이에 대해서 알아봅니다. (생활코딩) https://www.youtube.com/watch?v=fYHsOyvnzAs import java.io.FileWriter; import java.io.IOException; public class TryWithResource { public static void main(String[] args) { // try with resource statements try (FileWriter f = new FileWriter("data.txt")) { f.write("Hello"); } catch(IOE..

Java_예외 - Resource 와 finally

https://www.youtube.com/watch?v=WSFBl3H-MsE 리소스는 불안정하다 Java가 리소스를 사용하려면 사용하는동안 리소스를 붙잡고 있어야 한다. 리소스를 붙잡고 있다가 놓아주는 메소드가 close() 이다 import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils; import java.io.FileWriter; import java.io.IOException; public class CheckedExceptionApp { public static void main(String[] args) { FileWriter f = null; try { f = new FileWriter("data.txt"); f.write("Hello"..

Java_예외 - checked vs unchecked exception

https://www.youtube.com/watch?v=q80kLBw04gI RuntimeException을 포함한 자식들은 UncheckedException이고 IOException을 포함한 자식들은 CheckedException CheckedException = IOException 무심코 예외처리를 안하고 넘어가는 것을 방지하기 위해 예외처리를 안할경우 컴파일 자체가 안된다. import java.io.FileWriter; import java.io.IOException; public class CheckedExceptionApp { public static void main(String[] args) { try { FileWriter f = new FileWriter("data.txt"); f...

Java_예외 - 예외의 우선순위

https://www.youtube.com/watch?v=lSopXBjhBHo public class ExceptionApp { public static void main(String[] args) { System.out.println(1); int[] scores = {10,20,30}; try { System.out.println(2); System.out.println(scores[3]); System.out.println(3); // System.out.println(2 / 0); System.out.println(4); } catch(ArithmeticException e){ System.out.println("계산이 잘못된 것 같아요."); } catch(Exception e){ // Exce..

Java_예외 - 예외의 처리

https://www.youtube.com/watch?v=YNRANQPuDjM public class ExceptionApp { public static void main(String[] args) { System.out.println(1); int[] scores = {10,20,30}; try { System.out.println(2); System.out.println(scores[3]); // 여기까지만 실행, 밑에는 건너뛰고 끝남 System.out.println(3); System.out.println(2 / 0); System.out.println(4); } catch(ArithmeticException e){ System.out.println("잘못된 계산이네요."); } catch(Arr..