나만의 예외 만들기

상속을 이용하자

  • super로 부모 클래스 초기화하고

자식 클래스들의 생성자에서 superRuntimeException의 생성자를 호출해야 함

  • 컴파일 에러? → 아님
    • RuntimeException에는 매개변수 없는 생성자가 있어서 super(message)를 생략해도 컴파일러가 암시적으로 super()를 삽입해줌 → 컴파일 됨
    • 대신 메시지가 설정되지 않아 getMessage() 메서드가 null을 반환

유저 이름으로 비교하고 못 찾으면 예외 던짐

  • 좋은 코드라면 예외를 던지기보다 null을 반환하는게

C# vs Java 예외

Java에서 RuntimeException을 사용하는 예가 많음

물론 자바에서도 Exception 클래스를 상속해도 됨

  • 옛날에는 Exception 클래스를 많이 사용했음

C#의 Exception 클래스는 Java의 RuntimeException 클래스와 동일함

  • 그럼 Java의 Exception 클래스는 뭐가 다른가?

0건의 항목