WrongMethodTypeException — 잘못된 메서드 타입으로 메서드 핸들을 호출할 때
WrongMethodTypeException — 잘못된 메서드 타입으로 메서드 핸들을 호출할 때
WrongMethodTypeException은 코드가 잘못된 메서드 타입(wrong method type)으로 메서드 핸들(method handle)을 호출하려 할 때 던져지는 예외예요. 일반 메서드 호출의 바이트코드 표현처럼, 메서드 핸들 호출도 호출 지점(call site)에 연결된 특정 타입 설명자에 강하게 타입이 묶여 있어요.
본문
이 예외는 두 메서드 핸들을 조합(compose)할 때, 시스템이 그 타입들을 올바르게 맞출 수 없다고 감지했을 때도 던져져요. 이는 "타입이 안 맞는 메서드 핸들이 실제로 호출되는 시점"이 아니라, 메서드 핸들을 구성하는 시점에 타입 불일치를 일찍 검사하는 셈이에요.
상속 구조는 다음과 같아요.
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.invoke.WrongMethodTypeException
생성자
WrongMethodTypeException()— 상세 메시지 없이 생성해요.WrongMethodTypeException(String s)— 지정된 상세 메시지로 생성해요.