겉바속촉

[자바] throw, throws 연습하기 본문

IT일기(하반기)/블록체인

[자바] throw, throws 연습하기

겉바속촉 2020. 6. 3. 14:59
728x90
반응형

이번에는 throw와 throws를 연습해볼게요:)

 

throws-호출한 영역으로 예외처리 던져버리겠어!!

throw-강제로 예외 발생시키겠어!!!

 

요정도로 생각해주시면 되겠습니다:)

 

 

 

우선 다음과 같이 코드를 작성해주세요!!

 

package day0603;

import java.util.Scanner;

public class ExceptionThrows_09 {
	public static void main(String[] args) {
		
		//사용자정의 예외처리
		//예외가 발생할 경우가 아님에도 불구하고 조건에 해당하면 강제로 예외처리
		//throws-호출한 영역으로 예외처리를 던짐
		//throw-강제로 예외를 발생시킬때
		scoreInput();
		
		
	}

	public static void scoreInput() throws Exception
	{
		//점수가 0~100점 아니라면 강제로 익셉션 발생하게
		Scanner sc = new Scanner(System.in);
		int score=0;
		
		System.out.println("점수를 입력하세요");
		score = sc.nextInt();
		
		if(score<0 || score>100)
		{
			throw new Exception("점수가 잘못입력되었습니다");
		}else
		{
			System.out.println("나의 점수는"+score +"입니다");
		}
	}
}

 

그러면 main 부분에서 작성하신 scoreInput(); 부분에 빨간줄이 보이실거에요

그 빨간 줄에 마우스를 올려보시면

두가지가 뜹니다

그 중에서 Surround with try/catch 클릭!!

try/catch해주시면 그 줄부터

다음과 같은 코드가 생성이 됩니다

거기에 추가로 더 적어주실게요:)

	try {
			scoreInput();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println("오류메세지: "+ e.getMessage());
		}
		System.out.println("정상종료");
		
		
	}

 

지난번에 했던 try-catch의 위치와 현재 try-catch의 위치가 다른 것을 확인하실 수 있죠!!

throws!! 말 그대로 던져버린다고 생각하시면 됩니다

해당 메서드가 실행되는 곳에서 오류를 잡아내는 겁니다.

에러가 일어날 법한 곳에서 잡아내는 것이 아니라!!!!!!!!!!!!!

 

 

 

메인메서드에서 scoreInput()을 부르고 있기 때문에

그 자리에서 try catch가 일어나고 있는 것이쥬!^^!

 

 

 

전체 코드

package day0603;

import java.util.Scanner;

public class ExceptionThrows_09 {
	public static void main(String[] args) {
		
		//사용자정의 예외처리
		//예외가 발생할 경우가 아님에도 불구하고 조건에 해당하면 강제로 예외처리
		//throws-호출한 영역으로 예외처리를 던짐
		//throw-강제로 예외를 발생시킬때
		try {
			scoreInput();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println("오류메세지: "+ e.getMessage());
		}
		System.out.println("정상종료");
		
		
	}

	public static void scoreInput() throws Exception
	{
		//점수가 0~100점 아니라면 강제로 익셉션 발생하게
		Scanner sc = new Scanner(System.in);
		int score=0;
		
		System.out.println("점수를 입력하세요");
		score = sc.nextInt();
		
		if(score<0 || score>100)
		{
			throw new Exception("점수가 잘못입력되었습니다");
		}else
		{
			System.out.println("나의 점수는"+score +"입니다");
		}
	}
}

 

728x90
반응형

'IT일기(하반기) > 블록체인' 카테고리의 다른 글

Oracle 다운로드  (0) 2020.06.04
String 여러가지 예제  (0) 2020.06.03
[자바] 예외(Exception)  (0) 2020.06.03
[자바] 배열을 활용한 호출  (0) 2020.06.02
[자바] 생성자 연습하기  (0) 2020.06.01