WrongMethodTypeException — 잘못된 메서드 타입으로 메서드 핸들을 호출할 때

WrongMethodTypeException — 잘못된 메서드 타입으로 메서드 핸들을 호출할 때

WrongMethodTypeException은 코드가 잘못된 메서드 타입(wrong method type)으로 메서드 핸들(method handle)을 호출하려 할 때 던져지는 예외예요. 일반 메서드 호출의 바이트코드 표현처럼, 메서드 핸들 호출도 호출 지점(call site)에 연결된 특정 타입 설명자에 강하게 타입이 묶여 있어요.

출처: Java API Reference

본문

이 예외는 두 메서드 핸들을 조합(compose)할 때, 시스템이 그 타입들을 올바르게 맞출 수 없다고 감지했을 때도 던져져요. 이는 "타입이 안 맞는 메서드 핸들이 실제로 호출되는 시점"이 아니라, 메서드 핸들을 구성하는 시점에 타입 불일치를 일찍 검사하는 셈이에요.

상속 구조는 다음과 같아요.

java.lang.Object
  java.lang.Throwable
    java.lang.Exception
      java.lang.RuntimeException
        java.lang.invoke.WrongMethodTypeException

생성자

  • WrongMethodTypeException() — 상세 메시지 없이 생성해요.
  • WrongMethodTypeException(String s) — 지정된 상세 메시지로 생성해요.

더 알아보기 (Learn more)