try/catch/finally
예외는 개체지향과 비슷한 시점에 나왔을 뿐 독립적임

try 블록 위에서부터 순서대로 실행
- 예외 발생하면 예외 종류에 따라 분기해서
catch- 언어 자체에서 제공하는 예외
- 사용하는 함수에서 자체적으로 제공하는 예외
- 예외 발생 여부와 관계없이 항상
finally블록 실행catch블록에서return문이 있더라도finally블록은 항상 실행

Exception 클래스는 최상위 예외 부모
catch문에 부모 클래스 예외를 넣으면 이 예외의 자식 클래스 예외가 발생하면 캐치함

부모 예외 클래스 catch 블록이 자식 예외 클래스 catch 블록보다 위에 나오면 안 됨
catch문에 부모 클래스 넣으면 자식 클래스 예외가 발생하면 캐치하기 때문- 왼쪽의 예에서는
FileNotFoundException예외가 발생할 수 없음
specific to general 로 작성하자!