C#/C# Concept

[Java] throws, throw

군우 2018. 3. 8. 14:46

try catch는 예외를 직접 처리하기 때문에

메서드를 호출해도 더 이상 예외 처리를 할 필요가 없습니다.


throws  -예외 떠넘기기 

메서드 내부에서 예외가 발생했을 때 예외를 try-catch 문으로 잡아서 처리할 수 있지만,

경우에 따라서 현재 메서드를 호출한 메서드로 예외를 떠넘길 수 있다.

throws는 호출하는 쪽에대가 예외처리를 맡깁니다.

그래서 호출하는 메소드에  throws가 있으면, 

호출하는 쪽에서도 예외처리를 다시 해줘야됩니


예외가 발생하는 경우 try - catch문을 통해 처리하지 않고 

throws를 이용해 떠넘기면 현재 메서드를 호출한 곳으로 던져지게 됩니다.

그러니까 throws는 throws되있는 곳을 호출한 곳으로 떠넘기는 것이다.

떠넘기다가 main까지 가면 결국 jvm이 하는 것이다.



throw는 임의의 예외를 발생시킬 때 사용합니다.