NoninvertibleTransformException 클래스
NoninvertibleTransformException 클래스
NoninvertibleTransformException 클래스는 AffineTransform 객체의 역변환이 필요한 연산을 수행할 때, 그 AffineTransform이 역변환 불가능한 상태일 때 던져지는 예외를 나타내요.
본문
AffineTransform.inverse()나 createInverse() 같은 메서드를 호출했을 때, 행렬의 행렬식(determinant)이 0이어서 역행렬이 존재하지 않으면 이 예외가 발생해요. 이런 상태는 예를 들어 스케일이 0인 변환(한 축을 완전히 눌러 없앤 경우)이나 특정 퇴화 변환에서 나타날 수 있어요.
public class NoninvertibleTransformException
extends Exception
주요 생성자
NoninvertibleTransformException(String s)— 지정한 상세 설명으로 예외를 만들어요.
사용 참고
역변환은 이론적으로 항상 가능하지만, 부동소수점 수치 문제 때문에 행렬식이 0이거나 매우 작아 수치적으로 불안정하면 실패할 수 있어요. 이 예외는 체크 예외라서 반드시 처리하거나 던져야 해요.
관련
AffineTransform에는 getDeterminant() 메서드가 있어서, 역변환 전에 행렬식이 0인지 확인해 예외를 피할 수 있어요.