본문 바로가기
JAVA/[JAVA] 바구니

[JAVA] RuntimeException

by oncerun 2020. 6. 6.
반응형

실행 예외

 

NullpointerException

 

객체 참조가 없는 상태입니다. 즉 null값을 갖는 참조 변수로 객체의 접근 연산자인. 를 사용했을 때 발생합니다.

String str = null;

str.toString();

 

ArrayIndexOutOfBoundsException

 

배열에서 인덱스 범위를 초과하여 사용할 경우 발생

public static void main(String[] args){

	String[] arr = {'a','b'};
    
    System.out.println(arr[4]);
    
    
}

 

NumberFormatException

문자열을 숫자로 변환하는 경우가 많습니다. 그중 숫자로 변환될 수 없는 문자가 포함되어있을 때 발생됩니다.

String str = "100as";

int value= Integer.parseInt(str);

ClassCastException

클래스의 타입 변환이 되지 않을 경우에 발생합니다.

 

main{
Animal animal = new Animal();
Animal animal = new Dog();
Cat cat = (Cat) animal;
}


class Animal{}
class Dog() extends Animal{}
class Cat() extends Animal{}

Dog을 참조하는 animal객체가 Cat타입으로 강제 변환하므로 ClassCastException이 발생합니다.

 

public static void changeDog(Animal animal){

Dog dog = (Animal) animal;

//cat , dog둘다 Animal을 상속을 받았지만 cat객체가 들어왔을경우 dog으로 변환할 수없으므로 실행예외발생

}

보완한다면

public static void changeDog(Animal animal){
	if(animal instanceof Dog){
		Dog dog = (Animal) animal;
		}else{
        //Dog객체가 들어오지않았습니다.
        }
		
}

 

반응형

'JAVA > [JAVA] 바구니' 카테고리의 다른 글

Java의 기본 log : Logger  (0) 2021.02.26
[JAVA] Java Virtual Machine  (0) 2020.07.08
[JAVA] Exception  (0) 2020.06.06
[JAVA] Wrapper Class  (0) 2020.05.25
[JAVA] StringBuffer , StringBuilder  (0) 2020.05.21

댓글