- 예외란? 사소한 에러
- 기본적인 예외처리에서 JVM은 예외가 발생할 경우 예외가 발생한 지점에서 예외를 보여주고 강제종료 한다.
예외가 발생할 경우 JVM은 예외 객체를 생성
Java는 프로그램 실행시 발생할수 있는 예외를 클래스로 만들어 놓았다. 70~80개
- try{ }는 예외가 발생하는 코드부분
catch(){ }는 예외가 발생하면 실행되는 부분
- finally{ }예외가 발생하든 안하든 항상 실행되는 부분 ex)리소스 해제 코드
finally가 필요한 이유 return 키워드가 있어도 finally부분을 실행하기 때문에
System.exit();는 finally실행안됨. (JVM강제 종료이기 때문에)
- 사용자가 직접 예외를 만들수 있다. Exception 클래스를 상속 받아서
- throws: 예외를 던질수 있다.
- throw: 예외를 던진다.
- 예외 클래스 구조
Object
|
Throwable
| |
Error Exception
| | | |
IOException ... .... RuntimeException
| | |
Array.. Null.. Arith... ClassCast...
- Compile Checked Exception(일반적 예외):
예외처리를 꼭 해주어야 한다. Exception 밑 IOException, InterruptedException
- Runtime Exception(실행시 예외): 예외처리할 필요없다.
| |
Error Exception
| | | |
IOException ... .... RuntimeException
| | |
Array.. Null.. Arith... ClassCast...
- Compile Checked Exception(일반적 예외):
예외처리를 꼭 해주어야 한다. Exception 밑 IOException, InterruptedException
- Runtime Exception(실행시 예외): 예외처리할 필요없다.