2016-06-28 4 views
4

저는 파이썬의 built-in exceptions을보고 있으며, 자바의 가장 가까운 동등 물인 UnsupportedOperationException이 무엇인지 궁금합니다. NotImplementedError은 가깝지만 조금 다른 것을 제안하는 것처럼 보입니다. RuntimeError을 사용하거나 내 자신의 Exception을 구현해야합니까?Java의 UnsupportedOperationException과 동일한 Python은 무엇입니까?

+1

다른 단어를 사용하여 동일한 의미라고 말하고 싶습니다. 구현되지 않았기 때문에 지원되지 않으며 지원되지 않기 때문에 구현되지 않았습니다. 그것은 당신의 관점, 즉 의도에 달려 있습니다. – Andreas

+0

@Andreas 그걸 보는 좋은 방법입니다. 오류 메시지에서 메서드가 구현되지 않은 이유를 설명 할 수 있다고 생각합니다. – erwaman

답변

7

가장 비슷한 기능은 지원되지 않는 메소드를 구현하지 않는 것입니다. 존재하지 않는 메서드를 사용하려고하면 결과 예외는 AttributeError입니다.

+2

@gotnull : 질문에 대답하기 때문에. – user2357112

+0

나는 메서드를 정의하고 그냥'raise '의 본문을 갖고 싶습니다. 예외 메시지에서 메서드가 구현/지원되지 않아야하는 이유를 설명하고 싶습니다. 이 작업을 수행하지 않으면 누군가가 원래 구현되지 않은 이유를 이해하지 않고 나중에이 메서드를 구현하려고 할 수 있습니다. – erwaman

+1

@erwaman 그래서 AttributeError를 발생시킵니다. 또는 원하는 경우 사용자 지정 예외 형식을 올리십시오. – dimo414

1

자바를 모르지만 내가 링크 한 것과 (온라인 몇 가지 예를 들자면) 하나의 동등한 것이 없다고 말하고 싶습니다. 이는 예외 유형에 대한 광범위한 설명입니다.

피연산자 유형이 잘못되어 연산이 지원되지 않는 경우 TypeError를 사용합니다. 값이 어떻게 든 호환되지 않기 때문에 지원되지 않으면 ValueError를 사용합니다. 또는 존재하지 않는 메소드에 액세스하려고 시도했을 때 user2357112 메모에 아무 것도하지 않고 AttributeError를 얻습니다.