일단 throws는 class나 method에 써주는 거임.
예를 들어
private int divide(int x, int y) throws ArithemicException{
return x/y;
}
그리고 throw는 try catch 문에 쓰임.
private int maximumSum(int x, int y){
try{
int sum=x+y;
if(sum>100){
throw new ArithmeticException
}
}
catch(ArithmenticException e){
System.out.println("The sum cannot be greater than 100");
}
}
그러니까 throws는 클래스나 메소드에 쓰이는데, 내가 원하는 에러상황을 표현할 수 없음.
throw는 try catch문에 쓰이지만, 내가 원하는 에러상황을 표현할 수 있음.
맞아???
혹시 빠진 내용 있을까?
이해가 첨부터 잘못됐어
어느부분에서?ㅠㅠ - dc App
throw는 에러 발생이고 try catch는 에러 처리고 throws는 에러 전달이야
try 안에 throws 메소드 들어갈 수도 있고 throws 메소드 안에 throw 들어갈 수도 있고 throws 메소드 안에 throws 메소드 들어갈 수도 있는데 용도부터 다른 걸 어떻게 비교하고 있는 건지 모르겠다
throws 메소드는, 예를 들어, throws IOException 이라고하면 IOException을 무시한다는 말이야?
아니 메소드 안에서 일어난 IOException을 메소드 부른 놈한테 넘긴다고
아 이해함. 그러니까 public int A thros IOException 이러면, A를 부른 놈한테 이 exception을 처리하라! 고 하는거구나
throw는 에러를 억지로 발생시키는 거고.
ㅇㅇ
감사합니다!!!