Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 2009. 10. 28 남궁성 강의 Chapter 8. 예외처리 http://www.javachobo.com Java의 정석 제 8 장 예외처리 (Exception handling) 안녕하십니까? 자바의 정석의 저자 남궁성입니다. 지금부터 제7장 객체지향개념2의 두 번째 강의를 시작하겠습니다. 2009. 10. 28 남궁성 강의 castello@naver.com
Java 1. 예외처리(Exception handling) 1.1 프로그램 오류 1.2 예외처리의 정의와 목적 정석 Chapter 8. 예외처리 http://www.javachobo.com 1. 예외처리(Exception handling) 1.1 프로그램 오류 1.2 예외처리의 정의와 목적 1.3 예외처리구문 – try-catch 1.4 try-catch문에서의 흐름 1.5 예외 발생시키기 1.6 예외클래스의 계층구조 1.7 예외의 발생과 catch블럭 1.8 finally블럭 세부목차인데요. 이 강의는 이와 같은 순서로 진행될 것입니다. 1.9 메서드에 예외 선언하기 1.10 예외 되던지기(re-throwing) 1.11 사용자정의 예외 만들기
1. 예외처리(Exception handling) Java 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 1. 예외처리(Exception handling)
Java 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 1.1 프로그램 오류 ▶ 컴파일 에러(compile-time error)와 런타임 에러(runtime error) . 컴파일 에러 – 컴파일할 때 발생하는 에러 . 런타임 에러 – 실행할 때 발생하는 에러 ▶ Java의 런타임 에러 – 에러(error)와 예외(exception) 4 4
Java 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 1.2 예외처리의 정의와 목적 - 에러(error)는 어쩔 수 없지만, 예외(exception)는 처리해야 한다. - 예외처리의 정의와 목적 5 5
Java 1.3 예외처리구문 – try-catch 정석 - 예외를 처리하려면 try-catch문을 사용해야 한다. 의 Chapter 8. 예외처리 http://www.javachobo.com 1.3 예외처리구문 – try-catch - 예외를 처리하려면 try-catch문을 사용해야 한다. 6 6
Java 1.4 try-catch문에서의 흐름 정석 의 Chapter 8. 예외처리 7 7 http://www.javachobo.com 1.4 try-catch문에서의 흐름 7 7
Java 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 1.5 예외 발생시키기 8 8
Java 1.6 예외 클래스의 계층구조(1/2) 정석 - 예외 클래스는 크게 두 그룹으로 나뉜다. 의 Chapter 8. 예외처리 http://www.javachobo.com 1.6 예외 클래스의 계층구조(1/2) - 예외 클래스는 크게 두 그룹으로 나뉜다. ← 예외처리 필수 ← 예외처리 선택 9 9
Java 1.6 예외 클래스의 계층구조(2/2) 정석 의 Chapter 8. 예외처리 ← 예외처리 필수 ← 예외처리 선택 10 http://www.javachobo.com 1.6 예외 클래스의 계층구조(2/2) ← 예외처리 필수 ← 예외처리 선택 10 10
Java 1.7 예외의 발생과 catch블럭(1/2) 정석 Chapter 8. 예외처리 http://www.javachobo.com 1.7 예외의 발생과 catch블럭(1/2) - try블럭에서 예외가 발생하면, 발생한 예외를 처리할 catch블럭을 찾는다. - 첫번째 catch블럭부터 순서대로 찾아 내려가며, 일치하는 catch블럭이 없으면 예외는 처리되지 않는다. - 예외의 최고 조상인 Exception을 처리하는 catch블럭은 모든 종류의 예외를 처리할 수 있다.(반드시 마지막 catch블럭이어야 한다.) 11 11
Java 1.7 예외의 발생과 catch블럭(2/2) 정석 - 발생한 예외 객체를 catch블럭의 참조변수로 접근할 수 있다. Chapter 8. 예외처리 http://www.javachobo.com 1.7 예외의 발생과 catch블럭(2/2) - 발생한 예외 객체를 catch블럭의 참조변수로 접근할 수 있다. 12 12
Java 1.8 finally블럭 정석 - 예외의 발생여부와 관계없이 실행되어야 하는 코드를 넣는다. Chapter 8. 예외처리 http://www.javachobo.com 1.8 finally블럭 - 예외의 발생여부와 관계없이 실행되어야 하는 코드를 넣는다. - 선택적으로 사용할 수 있으며, try-catch-finally의 순서로 구성된다. - 예외 발생시, try → catch → finally의 순서로 실행되고 예외 미발생시, try → finally의 순서로 실행된다. - try 또는 catch블럭에서 return문을 만나도 finally블럭은 수행된다. 13 13
Java 1.8 finally블럭 - 예제 정석 의 Chapter 8. 예외처리 14 14 http://www.javachobo.com 1.8 finally블럭 - 예제 14 14
Java 1.9 메서드에 예외 선언하기 정석 - 예외를 처리하는 또 다른 방법 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 1.9 메서드에 예외 선언하기 - 예외를 처리하는 또 다른 방법 - 사실은 예외를 처리하는 것이 아니라, 호출한 메서드로 전달해주는 것 - 호출한 메서드에서 예외처리를 해야만 할 때 사용 15 15
Java 1.9 메서드에 예외 선언하기 – 예제1 정석 의 Chapter 8. 예외처리 16 16 http://www.javachobo.com 1.9 메서드에 예외 선언하기 – 예제1 16 16
Java 1.9 메서드에 예외 선언하기 – 예제2 정석 의 Chapter 8. 예외처리 17 17 http://www.javachobo.com 1.9 메서드에 예외 선언하기 – 예제2 17 17
Java 1.9 메서드에 예외 선언하기 – 예제3 정석 의 Chapter 8. 예외처리 18 18 http://www.javachobo.com 1.9 메서드에 예외 선언하기 – 예제3 18 18
Java 1.9 메서드에 예외 선언하기 – 예제4 정석 의 Chapter 8. 예외처리 19 19 http://www.javachobo.com 1.9 메서드에 예외 선언하기 – 예제4 19 19
Java 1.10 예외 되던지기(re-throwing) 정석 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 1.10 예외 되던지기(re-throwing) - 예외를 처리한 후에 다시 예외를 생성해서 호출한 메서드로 전달하는 것 - 예외가 발생한 메서드와 호출한 메서드, 양쪽에서 예외를 처리해야 하는 경우에 사용. 20 20
Java 1.11 사용자정의 예외 만들기 정석 - 기존의 예외 클래스를 상속받아서 새로운 예외 클래스를 정의할 수 있다. Chapter 8. 예외처리 http://www.javachobo.com 1.11 사용자정의 예외 만들기 - 기존의 예외 클래스를 상속받아서 새로운 예외 클래스를 정의할 수 있다. - 에러코드를 저장할 수 있게 ERR_CODE와 getErrCode()를 멤버로 추가 21 21
감사합니다. http://www.javachobo.com Java 정석 의 정석 Chapter 8. 예외처리 http://www.javachobo.com 감사합니다. 더 많은 동영상강좌를 아래의 사이트에서 구하실 수 있습니다. http://www.javachobo.com 이것으로 제 7장 객체지향개념II-3에 대한 강의를 모두 마치겠습니다. 감사합니다. 이 동영상강좌는 비상업적 용도일 경우에 한해서 저자의 허가없이 배포하실 수 있습니다. 그러나 일부 무단전제 및 변경은 금지합니다. 관련문의 : 남궁성 castello@naver.com