반응형
실행 예외
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 |
댓글