● 예외처리: throw- 예외 던지기 / try & catch & finally- 예외 던지기 & 예외 처리
- 예외처리가 필요한 이유
- 고품질의 프로그램이란 사용성을 해치지 않아야해요
- 여러 측면의 사용성이 있지만 프로그램이 도중에 종료되는건 심각한 문제예요
- 미리 예외를 생각하고 소스코드를 작성해야 안정성을 높인 프로그램이라고 할 수 있어요
- 예시
- 숫자를 입력받아서 더하는 프로그램인데 실수로 문자를 입력했다면 예외처리
- 사진을 다운로드 받는데 도중에 인터넷이 끊긴다면 예외를 처리
- 수술을 받고있는데 메인 전력이 끊겼다면 보조 전력을 사용하도록 예외를 처리
⇒ 전부 실행 도중에 발생하는 것들!
- 프로그램 처리 중에 발생하는 예외를 적절하게 처리
- 컴퓨터를 실행하기 전에 알 수 있는 컴파일 에러를 ‘오류’라고 한다.
- 프로그램을 실행하는 도중에 알 수 있는 에러인 ‘예외’가 발생할 수 있다.
-> 실행도중에 예외가 발생하면 프로그램이 비정상적으로 종료된다.
⇒
try(return값 있을 것)에서 에러가 발생하면 catch에서 처리한다.
- catch(e:)에 들어갈 수 있는 요소
: exception: null 값일 때
ArithmeticException: 0으로 나누었을 때
finally는 정상동작을 하든 에러가 발생하든 예외처리와 관계없이 무조건 실행한다.
- USB와 연결하는 코드는 반드시 사용후에 연결을 끊어야해요 (자원낭비)
- GPS를 사용하는 코드는 반드시 사용후에 연결을 끊어야해요 (자원낭비)
⇒ 이를테면, usb가 도중에 연결이 끊겼을 때를 대비해 예외처리를 해서
잘 연결이 됐다 하더라도, usb를 빼지않으면 계속 메모리에 남게되어서 자원이 낭비된다.
이를 방지하기 위해 finally 키워드를 이용한다.