겉바속촉

[자바] 예외(Exception) 본문

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

[자바] 예외(Exception)

겉바속촉 2020. 6. 3. 13:49
728x90
반응형

예외에 대해서 알아보도록 할게요:)

가벼운 경우들은 예외처리를 해줘서 정상적으로 컴파일 될 수 있게 해줄거에요!

 

 

다음 보이는 것들은 예외로 나올 수 있는 경우들이에요:)

 

 

다음과 같이 코드를 작성해줄게요
0으로 나눈다고 작성했으니까
당연히 오류가 나겠죠?!

 

package day0603;

public class ExceptionTest_06 {
	
	public static void main(String[] args) {
		
		
		System.out.println("프로그램시작");
		int num=3/0; //정수를 0으로 나누었을때 에러발생
		System.out.println("프로그램종료");
		
		
	}

}

 

컴파일해보시면 오류가 뜹니다:)
프로그램시작은 출력되는데
오류때문에 프로그램종료가 출력되지 않네요

 

 

 

try블럭을 만들어서 다음과 같이 코드를 작성해보세요:)

그리고 컴파일 해보시면!!!

즉 그냥 try할게!!! error나는 부분은 catch 하고!!

라고 받아들이시면 됩니다:)

 

try {
			//예외가 발생할 수 있는 코드
		int num=3/0; //정수를 0으로 나누었을때 에러발생
		}catch (Exception e) {
			// 해결방안
			// 자세한 에러메세지
			e.printStackTrace();
		}

 

에러에 대한 내용은 뜨지만 프로그램 종료까지 출력되는 걸 보실 수 있을 겁니다

 

 

 

다음은 전체 코드

package day0603;

public class ExceptionTest_06 {
	
	public static void main(String[] args) {
		
		
		System.out.println("프로그램시작");
		
		try {
			//예외가 발생할 수 있는 코드
		int num=3/0; //정수를 0으로 나누었을때 에러발생
		}catch (Exception e) {
			// 해결방안
			// 자세한 에러메세지
			e.printStackTrace();
		}
		System.out.println("프로그램종료");
		
		
	}

}

 

오류나도록 코드 하나 더 작성해볼게요:)

 

 

 

다음은 try와 catch블럭 작성해서 코드 추가했어요

 

 

 

 

하나 더

 

 

또 쭈욱 작성하시다가

 

 

 

전체코드

package day0603;

import java.io.IOException;
import java.io.InputStream;

public class ExceptionTest_08 {
	
	public static void main(String[] args) {
		
		//InputStream; 바이트잔위입력 취상위 클래스-추상클래스이므로 객체를 직접못만들기 때문에
		//자식클래스가 받아서 직접구현
		//read(): 한바이트만 읽는다
		//read(byte[]b)-사용자가 지정한 바이트를 이용해서 한꺼번에 원하는 만큼 읽는다
		
		InputStream is = System.in;
		int a =0;
		
		System.out.println("한글자 입력: ");
		
		try {
			a=is.read();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println("오류: "+e.getMessage());
		}
		
		System.out.println("3초뒤에 출력합니다");
		
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("입력값: " + a);
		
		
	}

}

 

 

 

 

728x90
반응형

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

String 여러가지 예제  (0) 2020.06.03
[자바] throw, throws 연습하기  (0) 2020.06.03
[자바] 배열을 활용한 호출  (0) 2020.06.02
[자바] 생성자 연습하기  (0) 2020.06.01
method 연습하기  (0) 2020.06.01