ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자바] throws
    program_language 및 궁금한것/Java 2019. 5. 21. 09:43
    package com.siri.que;
    
    
    // runtimeException은 호출하는 곳에서 예외처리를 안해도 컴파일에러 없음.왜?
    class A{
    	
    	void hello(String name) {
    		//만약 name인자의 값이 null이라면 메소드를 문장들을 실행하지 않겠어!!
    		if(name==null)
    		  throw new NullPointerException();
    		//강제 예외 발생!!, return문과 같이 메소드를 제어.
    		
    		System.out.println("안녕,"+name);
    	}
    }
    class My{
    	A a;//A a=null;
    	
    	public My() {
    	   a = new A();
    	}
    	
    	void callTest(String name) {
    		try {
    		a.hello(name);//NullPointerException발생!!
    		//예외발생 요소? 1.a   2.hello   3.name    :  1(90%),3(10%)
    		//a.b.c.d(e);  ==> a, b, c : 예외발생 요소!!
    		}catch (NullPointerException e) {
    			System.out.println("이름값을 전할하세요.");
    		}
    	}
    }
    
    public class MyThrowDefineTest {
       public static void main(String[] args) {
          My m = new My();
            String str=null;
    //        if(str==null) {
    //        	System.out.println("# 이름을 반드시 입력하세요!");
    //        	return;
    //        }
            m.callTest(str);
       }
    }

    NullPoint에러가 뜨는데 My 클래스에서 에러가 발생하니 try catch문을 이용해 주던지, main에서 if문으로 조건을 걸어줘야한다. 

    런타임 에러는 빨간줄이 뜨지 않고 콘솔창에만 나온다.

    반응형

    'program_language 및 궁금한것 > Java' 카테고리의 다른 글

    ibatis란?  (0) 2019.07.01
    [JAVA] POJO란?  (0) 2019.06.18
    [자바] throw와 throws의 차이점  (0) 2019.05.21
    [자바] 재귀(recursive)  (0) 2019.05.20
    큐(Queue) 와 Stack  (0) 2019.05.17

    댓글

Designed by Tistory.