예외 강제 발생 시키기(예외 만들기)
중요도가 높진 않음. 잘 안 쓴다
throws말고 throw라는 키워드는 예외를 만들 때 사용한다.
void형 메서드는 return으로 강제종료가 가능하지만, void형이 아니면 강제종료가 불가능
반환이 있는 메서드가 종료가 일어나야 할 때가 있다.
throw new Exception으로 예외를 직접 생성.
생성하고 메서드에 throws Exception을 넣는다.
생성되고, throws구문을 찾아 메서드가 실행되지 않고, 호출되는 부분에 try catch가 있으니 예외처리가 실행.
예외를 만드는 것. 반환이 있는 메서드는 return으로 종료가 불가능.
package day10.exception.throw_;
public class ThrowEx01 {
public static void main(String[] args) {
try {
System.out.println(calc(10));
System.out.println(calc(-10));
} catch (Exception e) {
e.printStackTrace();//예외의 내용을 로그로 출력해주는 기능.
System.out.println(e.getMessage());//예외 생성시에 만들어진 메시지를 확인할 수 있음 -ctrl 클릭을 통해 상속을 하나하나 올라가면서 확인가능
}
}
//잘못된 값이 전달되면 예외를 만들어서 메서드를 강제 종료
public static int calc(int n) throws Exception{
if(n<=0) {
throw new Exception("0이상으로 값을 전달하세요");//예외 강제생성 - 예외를 생성하면 예외처리 구문이 필요합니다
//return ??;-조건에 맞지 않아도 return하는게 있어야 한다.
}
int sum = 0;
for(int i=0;i<=n;i++) {
sum+=i;
}
return sum;
}
}
55
java.lang.Exception: 0이상으로 값을 전달하세요
at day10.exception.throw_.ThrowEx01.calc(ThrowEx01.java:23)
at day10.exception.throw_.ThrowEx01.main(ThrowEx01.java:8)
0이상으로 값을 전달하세요
getmessege()는 예외 생성시에 만들어진 메시지를 확인할 수 있음 -ctrl 클릭을 통해 상속을 하나하나 올라가면서 확인가능
'JAVA' 카테고리의 다른 글
221018 API, Object (0) | 2022.10.18 |
---|---|
221017 Throw 실습 (0) | 2022.10.17 |
221017 Throws (0) | 2022.10.17 |
221017 Try~Catch 실습 (0) | 2022.10.17 |
221017 Try~Catch~Finally (0) | 2022.10.17 |