Download presentation
Presentation is loading. Please wait.
Published bySimo Aarno Haapasalo Modified 6년 전
1
25강 예외처리 - 예외란? - 예외처리의 필요성 - 예외처리 문법 (try ~ catch) - 예외처리 문법 (throws)
- 일반적으로 많이 보게 되는 예외들 Lecturer Kim Myoung-Ho Nickname 블스
2
25-1. 예외란? 세상에 완벽한 프로그램은 없는 거 같습니다. 아무리 간단하고, 문제 없을 거 같은 프로그램도 외부환경요인 등에 의해서 문제가 발생하곤 합니다. 프로그램에서 문제가 발생될 만한 곳을 예상하여 사전에 ‘문제가 발생하면 이렇게 해라’라고 프로그래밍 하는 것을 예외 처리라고 합니다. 25-2. 예외처리의 필요성 프로그래머는 예외 처리를 왜 해야 될까요? 이유는 간단합니다. 몇 달 동안 심혈을 기울여 만들어 놓은 프로젝트가 단순한 어떤 이유로 작동을 하지 않은 다면 얼마나 속상할까요? 예외의 필요성은 어느 한 부분에서 예외가 발생하더라도 계속해서 프로그램이 동작되도록 하는데 목적이 있습니다. 예를 들어 사용자한테 두 번의 숫자를 입력 받아 곱셈, 나눗셈, 덧셈, 뺄셈을 하는 프로그램이 있습니다. 사용자가 ‘10’과 ‘2’를 입력하면 결과는 다음과 같을 것입니다. 10 * 2 = 20, 10 / 2 = 5, = 12, 10 – 2 = 10 이 경우에는 아무런 이상이 없습니다. 하지만 사용자가 10과 0을 입력하는 순간 문제가 발생 합니다. 10 * 0 = 0, 10 / 0 = ?, = 10, 10 – 0 = 10 0으로 나눌 수 없어 프로그램이 중단 될 것입니다. 이런 경우 덧셈과 뺄셈은 이상이 없어도 사용자는 프로그램 동작이 중단되어 결과를 볼 수가 없습니다. 만약, 나눗셈 처리에 예외처리를 해두었다면, 나눗셈의 결과는 못 보더라도 덧셈과 뺄셈의 결과는 볼 수 있었을 것입니다. 이것이 바로 예외처리가 필요한 이유 입니다.
3
25-3. 예외처리 문법 (try ~ catch) 문제가 발생할 수 있는 로직을 기술 합니다.
4
25-3. 예외처리 문법 (try ~ catch) 앞에서 살펴 봤던 4칙 연산을 이용해서 예외처리(try ~ catch)를 해보도록 하겠습니다. 문제가 발생할 수 있는 로직을 try{} 처리 했습니다. 문제가 발생할 경우 처리하는 부분 입니다. 문제가 발생하였지만 catch로 처리하고, 나머지 작업도 진행 되었습니다.
5
25-4. 끝내 실행 합니다. finally try ~ catch를 이용할 경우 try{}에서 문제가 발생하면 catch문이 실행 됩니다. finally문은 try와 catch문의 영향 없이 무조건 실행 됩니다.
6
25-4. 예외처리 문법 (throws) (25_4_ex1_throws)
try ~ catch 예외 처리 방법은 예외가 발생했을 때 자체적으로 catch문을 이용해서 해결 했습니다. 이번에 살펴볼 throws의 경우에는 예외를 발생시킨(호출)쪽으로 예외를 던져버리는 방식 입니다.
7
25-5. 일반적으로 많이 보게 되는 예외들 예외(Exception)의 종류는 아주 많습니다. 정말 많습니다.
프로그래밍을 하다 보면, 자주 보게 되는 예외들이 있습니다. 대표적인 몇 가지만 살펴보도록 하겠습니다. JAVA API문서를 통해서 Exception클래스가 얼마나 많은 자식 클래스를 가지고 있는지 알 수 있습니다.
8
25-5. 일반적으로 많이 보게 되는 예외들 ArrayIndexOutOfBoundsException > 배열을 사용시 존재하지 않는 index값을 호출하면 발생 합니다. 인덱스 4에 해당하는 값은 없습니다. NullPointerException > 존재하지 않는 객체를 가리킬 때 발생 합니다. 존재하는 객체가 없습니다.
9
25-5. 일반적으로 많이 보게 되는 예외들 NumberFormatException > 문자를 숫자로 처리할때 발생
숫자로 변경 할 수 없는 문자열을 변경하려고 함. DB관련 Exception ClassNotFoundException : 드라이브 이름을 찾지 못했을 때 SQLException : db url, id, pw가 올바르지 않을 때
Similar presentations