JAVA/★객체지향36 예외 만들기/(여러가지 예외들 설명)IllegalArgumentException //IllegalStateException ... 지금까지 API의 소비자로서 API 측에서 던지는 예외를 처리하는 방법을 알아봤는데 이번에는 API의 생산자로서 소비자들에게 API를 제공하는 입장에서 예외를 만들어볼거다 첫번째 방법으로는 setoperands가 실행될 때 exception을 발생시켜보자 두번째가 적합할듯!! ( setoprands에서 sum avg 할수도 있으니깐 ) divide와 관련된 작업할때만 right값이 0이 아니게 위에 ArithmeticException객체가 throw에서부터 divide의 실행을 멈춘다 ( 아래로직은 실행안한다) -0으로 못나눠욧 메인메소드를 보면 try가 있네 -> exception이 발생한 같은 데이터타입을 찾아서 catch구문을 메소드처럼 실행하는데 new라는 객체를 e에 넣어줌 getmessag.. 2023. 3. 13. 예외(3) - throw(폭탄돌리기) 1)오류나면 폭탄 (수건)돌리기 해보자 일단 기본형식이고 여기서 변형을 좀 들어가보자 throws filenot로 C한테 폭탄던져버리고 자신은 try catch를 지워도 된다 C도 check 한테 던지고 IOException이 filenotException의 조상이라 주석으로 생략해도 동작이 된다 에러뜨는것 보다 사용자에게 저런 메시지를 주는것이 경험이 완전 다르게 느껴진다 2023. 3. 13. 예외(2) -finally/throw 1)finally : 언제나 실행되는 로직 try { 예외의 발생이 예상되는 로직 } catch(예외클래스 인스턴스) { 예외 발생시 실행되는 로직 }finally { 예외여부와 관계없이 실행되는 로직 } **계속 finally가 실행된당 언제 finally 쓰는거야? ex) 데이터베이스를 사용한다면 데이터베이스 서버에 접속해야 하는데 이때 데이터베이스 서버와 내가 작성한 에플리케이션은 서로 접속상태를 유지하게 됨. 데이터베이스를 제어하는 과정에서 예외가 발생해서 더 이상 후속 작업을 수행하는 것이 불가능한 경우가 있을 수 있는데 예외가 발생했다고 데이터베이스 접속을 끊지 않으면 데이터베이스와 연결 상태를 유지하게 되고 as a result, 데이터베이스는 더 이상 접속을 수용할 수 없는 상태에 빠질.. 2023. 3. 13. 예외(1)/try catch + try with resource/ e.getMessage() /e.toString()/e.printStackTrace / 1)예외: 오류를 처리하는 것 계산하나마나라 의미없다~~ 오류다!! 2)try~catch 예외를 처리하기 위한 문법적예외 ** try { 예외의 발생이 예상되는 로직 } catch(예외클래스 인스턴스) { 예외 발생시 실행되는 로직 } ** try {오류가 발생할 것 같은 부분을 } 사이에 위치시키고 catch(Exception) { 에러 발생하면 try중지되고 catch로 이동} exception: catch 구문 호출하고 에러를 담고 있는 객체를 매개변수로 전달 -> 타입은 exception get message라는 메소드가 포함됨 -->에러가 발생한 이유가 리턴된다 (Exception)의미 java 7부터 close부분을 자동으로 실행시켜주는 try with resource구문이 추가되었다 자바의.. 2023. 3. 13. 이전 1 2 3 4 5 6 7 8 9 다음