JAVA공부하기126

throws의 원리





JAVA공부하기125


throw 예외처리


- throw를 사용해 사용자 임의대로 예외 발생이 가능

: 컴파일러가 인식하지 못하는 예외를 사용자가 새롭게 정의해서 사용 가능


: 새로운 예외 클래스를 만들 때에는 무조건 Exception클래스를 상속 해야함


: 컴파일러가 인식하는 예외를 사용자가 다른 예외클래스로 바꿔 발생시키고자 

  할 때도 사용가능





JAVA공부하기 124

예외처리의 응용


- throw

: 사용자가 에러이벤트를 발생

: 발생된 이벤트는 반드시 catch로 받아야함




- throws

: 예외처리 미루기

: 컴파일러에게 메서드 사용시에 예외가 발생할 수도 있다는 것을 사전에 알림




자바공부하기123


기본적인 예외처리






자바공부하기 122


기본적인 예외처리에대한 기본적인 설면은 자바공부하기 121번째에서 확인가능합니다.^^


기본적인 예외처리의 예


- try block에서 예외 발생

: 발생된 예외클래스의 객체 생성

: catch의 명시된 예외클래스들과 실제 발생된 예외클래스의 객체 형을 비교

: 만일 형이 같은 것이 있으면, 해당 catch block을 실행

: 만일 없다면, 그대로 프로그램 종료

: 예외의 발생유무와 관계없이 finally block은 무조건 실행





자바공부하기 121

예외 처리

- try에서 발생된 예외를 처리하는 것

- catch block에서 처리됨

- Checked Exception

: 컴파일 시에 컴파일러가 처리기 여부를 검사

: 비교적 처리가 용이

 

- RuntimeException

: 발생 전에는 알 수가 없음

: 모든 발생 가능 상황에 대한 처리가 필요

* 따라서 다중 catch block을 사용함

: 비교적 처리가 어려운

 

예외 처리의 필요성

- Checked Exception

: 컴파일 불가

 

- RuntimeException

: 실행 중 예외 발생에 따른 위험

: 프로그램의 신뢰성과 안전성 향상

 

기본적인 예외 처리

- try

: 에러 발생이 가능한 코드가 위치함

 

- catch

: try에서 발생한 에러이벤트를 처리

: 다중 catch사용시에 발생할 예외 클래스의 상속을 고려

 

- finally

: 프로그램 종료 전에 무조건 실행

: java.io패키지와 java.sql패키지에서 자주 사용됨

 

 

 

자바공부하기 120

 

 

실행 시의 예외 예제

 

- 컴파일은 되나 배열의 오류가 발생

: 선언된 배열의 범위를 넘은 요소에 접근

: ArrayIndexOutOfBoundsException 발생

 

 

 

자바공부하기 119

예외의 유형

 

- RuntimeException

* 실행 시에 발생하는 예외 이벤트(Event)

* 시스템 상의 문제로 발생

* 실행해 봐야 알 수 있음

- RuntimeException이외의 예외

* 컴파일 시에 발생하는 에러 이벤트

* 컴파일러가 문법적 오류로 간주해 발생

* 컴파일 시에 알 수 있음

* 자바 개발자들이 에러가 자주 발생하는 메서드에 throws 처리

컴파일 시의 예외 예제

 

- 컴파일 시에 예외 발생

: 자바 컴파일러가 CompileTimeException.java 파일을 캄파일 중에 URL클래스발견

: 클래스 라이브러리의 java.net팩키지의 URL.class를 로딩

: URL클래스의 객체 생성중에 throws로 MalformedURLException의 예외 처리가 미뤄진 것을 발견

: URL클래스의 객체를 생성하려는 CompileTimeException.java파일에 예외 처리가 안된 것을 확인한 후 예외 발생

 

 

 

+ Recent posts