JAVA/chapter19_exception
chapter05 : exception
GAWON
2023. 5. 30. 09:29
package org.joonzis.ex;
interface Animal{
public void walk();
}
class Dog implements Animal{
@Override
public void walk() {
System.out.println("산책한다.");
}
public void sleepTogether(){
System.out.println("같이 잔다.");
}
}
class Crocodile implements Animal{
@Override
public void walk() {
System.out.println("악어 피해 도망간다.");
}
}
public class Ex05_exception {
public static void verifyDog(Animal animal) {
// 1. instanceof 연산자를 이용한 예외 처리
if(animal instanceof Dog) {
((Dog)animal).sleepTogether();
}else {
System.out.println("강아지가 아니라서 같이 잘 수 없다.");
}
// 2. try-catch를 이용한 예외 처리
try {
animal.walk();
((Dog)animal).sleepTogether();
} catch (ClassCastException e) {
System.out.println("강아지가 아니라서 같이 잘 수 없다.");
e.printStackTrace();
}
}
public static void main(String[] args) {
verifyDog(new Dog());
verifyDog(new Crocodile());
}
}