1 / 27

자바 5.0 프로그래밍

자바 5.0 프로그래밍. chapter 09 : 예외처리. 학습목표. 오류 ( Error ) 란 ? 시스템 정의 예외처리. try/catch 문 throws 문. 사용자 정의 예외처리 Assertion. 오류 ( Error ). 정의. 프로그램 수행시 의도하지 않게 발생되는 문제점. 자바언어의 오류 종류. 오류 ( Error ). 치명적인 오류 프로그래머가 해결할 수 없는 오류 JVM 에 의존해서 해결한다. 예외 ( Exception ). 가벼운 오류

colt-nelson
Télécharger la présentation

자바 5.0 프로그래밍

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 자바 5.0 프로그래밍

  2. chapter 09 : 예외처리

  3. 학습목표 • 오류 ( Error )란? • 시스템 정의 예외처리 • try/catch 문 • throws 문 • 사용자 정의 예외처리 • Assertion

  4. 오류 ( Error ) • 정의 • 프로그램 수행시 의도하지 않게 발생되는 문제점 • 자바언어의 오류 종류 • 오류 ( Error ) • 치명적인 오류 • 프로그래머가 해결할 수 없는 오류 • JVM 에 의존해서 해결한다. • 예외 ( Exception ) • 가벼운 오류 • 프로그래머가 해결할 수 있는 오류 • 프로그래밍에 의존해서 해결한다.

  5. 예외 처리 ( Exception Handling ) • 정의 • 예외가 발생되었을 때 정상종료 되도록 처리하는 작업. • 특징 • 예외가 발생하면 자바언어는 예외를 모두 객체로 인식한다. • 발생한 예외를 예외처리 할 수 있도록 Exception 클래스가 제공 • 된다.

  6. 예외 처리 ( Exception Handling ) • 컴파일 처리방식에 따른 분류 • Checked Exception • 컴파일러가 명시적으로 예외처리를 요구한다. • 예외처리를 안하면 컴파일 에러가 발생된다. • IOException , SQLException • Unchecked Exception • 컴파일러가 명시적으로 예외처리를 요구하지 않는다. • 예외처리보다는 디버깅으로 해결한다. • RuntimeException

  7. 예외 처리 ( Exception Handling ) • Exception 클래스에 따른 분류 • 시스템 정의 Exception • API에서 제공된 Exception 클래스로 예외처리 • IOException , SQLException , RuntimeException • 사용자 정의 Exception • 개발자가 필요에 의해서 만든 Exception 클래스로 예외처리. • 반드시 Exception 클래스를 상속받아야 한다.

  8. 3:객체생성한 Exception을 예외 발생된 곳으로 던진다. ( throw ) … //예외발생 …. JVM 2: JVM은 예외를 분석하여 알맞은 Exception 클래스를 객체생성 한다. 4:발생된 곳에서 예외처리를 안하면 프로그램은 비정상 종료된다. 1:예외가 발생되면 JVM 에게 예외를 던진다. • 예외 처리 ( Exception Handling ) • 예외처리 기본개념

  9. 예외 처리 ( Exception Handling ) • 예외처리 방법 • try / catch 문 이용 • throws 이용 • try/catch 문 이용

  10. 2: JVM은 예외를 분석하여 알맞은 Exception 클래스를 객체생성 한다.이 예제에서는 ArrayIndexOutOfBoundsException 이 발생. JVM 3: 객체생성한 Exception을 예외 발생된 곳으로 던진다. ( throw ) 1:예외가 발생되면 JVM 에게 예외를 던진다. 4: 발생된 곳에서 예외처리를 안하면 프로그램은 비정상 종료된다. • 예외 처리 ( Exception Handling ) • 예외처리 안 했을 경우 예제

  11. 2: JVM은 예외를 분석하여 알맞은 Exception 클래스를 객체생성 한다.이 예제에서는 ArrayIndexOutOfBoundsException 이 발생. JVM 3: 객체생성한 Exception을 예외 발생된 곳으로 던진다. ( throw ) 1:예외가 발생되면 JVM 에게 예외를 던진다. 4 : JVM이 던진 Exception 객체를 catch 블록이 잡는다. 5 : 예외처리를 해서 프로그램이 정상종료 된다. • 예외 처리 ( Exception Handling ) • 예외처리 했을 경우 예제

  12. 예외 처리 ( Exception Handling ) • 다중 catch 문 • 실행문이 여러 개인 경우 발생할 수 있는 Exception 종류도 • 많아진다. • catch문은 순차적으로 실행되며 발생된 예외와 일치하는 • catch 문을 수행한다.

  13. 하위클래스 상위클래스 • 예외 처리 ( Exception Handling ) • 다중 catch 문 사용시 주의사항 • Exception 계층구조에서 상위클래스는 나중에 catch 처리한다.

  14. 예외 처리 ( Exception Handling ) • 예제

  15. 예외 처리 ( Exception Handling ) • finally 문 • 예외 발생여부와 상관없이 반드시 수행되는 문. • file 및 데이터베이스 접근시 유용하게 사용된다.

  16. 예외 처리 ( Exception Handling ) • 예제

  17. 예외 처리 ( Exception Handling ) • throws 이용 • 메소드 호출 메커니즘 • throws 기본개념은 메소드 호출 메커니즘을 이용한다.

  18. 예외 처리 ( Exception Handling ) • throws 이용 • 예외가 발생한 곳에서 예외처리를 안하고 호출한 곳으로 발생된 • 예외를 떠 넘긴다. • 적어도 main메소드에서는 try/catch 예외처리를 해야한다. • RuntimeException 계열은 throws 할 필요없다. • 방법 • 메소드 선언시 throws Exception클래스 를 지정한다. • public void b() throws Exception { .. }

  19. 예외 처리 ( Exception Handling ) • 예제

  20. 예외 처리 ( Exception Handling ) • 명시적 예외클래스 생성 • 명시적( 강제적)으로 예외를 발생 시킬수 있다. • 발생방법 • throw new Exception클래스( [args] ); • 용도 • 사용자 정의 Exception 클래스로 예외처리시 사용 • 필요에 의한 Exception 클래스 예외발생시 사용 • 주의사항 • 반드시 try/catch 로 예외처리를 해주어야 한다.

  21. 예외 처리 ( Exception Handling ) • 예제

  22. 사용자 정의 Exception • 정의 • 개발자가 필요에 의해서 만든 Exception 클래스를 의미한다. • 작성순서 • 1. Exception 클래스를 상속받는 사용자정의 클래스를 선언한다.

  23. 사용자 정의 Exception • 작성순서 • 2. 프로그램에서 특정 조건에 해당되는 경우 Exception를 • 명시적으로 발생시킨다. • 3. 발생된 Exception 을 예외처리한다.

  24. Assertion • 정의 • 어떤 내용에 대해서 확실한 단언을 할 때 사용하는 단어. • 용도 • 프로그램의 논리흐름상 특정변수의 값은 반드시 어떤 값이 • 되어야 한다는 점을 이야기할 때 사용된다. • 디버깅 용으로 사용된다. • 실행시에 화면출력 없이 변수나 코드의 흐름에 대해서 검증할 • 수 있는 코드작성이 가능하다. • 방법 • assert [boolean 식]; • boolean 값이 false 인 경우에는 AssertError가 발생되어 비정상 처리된다. • assert [boolean 식]: 실행문 ; • boolean 값이 false 인 경우에 실행문이 실행된다.

  25. Assertion • 컴파일 • 기본적으로 Assertion 기능이 수행되지 않도록 되어있다. • javac –source 1.5 파일명.java • 실행 • java –ea 파일명 -ea : Enable Assertions라고 해서 단언기능을 사용 가능하게 하는 옵션이다. -da : Disable Assertions라고 해서 단언기능을 사용 못하게 하는 옵션이다.

  26. Assertion • 예제

  27. 요약 정리 • try/catch • throws • finally • 사용자 정의 Exception 클래스 • throw • Assertion

More Related