IT Share you

잘못된 개체 상태를 나타내는 기본 제공 .NET 예외가 있습니까?

shareyou 2021. 1. 8. 21:45
반응형

잘못된 개체 상태를 나타내는 기본 제공 .NET 예외가 있습니까?


잘못된 상태 (예 : 한 번만 호출해야하는 초기화 메서드)가 두 번 호출되는 경우 어떤 예외를 throw해야합니까? 나는 실제로 의미있는 내장 예외를 보지 못했습니다. 이것은 프레임 워크에 있어야하는 것 같습니다. 올바른 위치를 찌르고 있지 않습니까?


InvalidOperationException이 아닐까요?

객체의 현재 상태에 대해 메서드 호출이 유효하지 않을 때 throw되는 예외입니다.


일반적으로 잘못된 상태에 도달 할 수 없도록 개체를 프로그래밍해야합니다 . 당신이 당신의 객체가 잘못된 상태에 있음을 알 수 있다면 당신은 던져해야 SystemException하거나 예외가 직접 파생 에서 SystemException. 이것은 제목 의 질문 대한 답 입니다.

그러나 질문 텍스트에서 언급 하는 예외적 인 상황은 개체 를 불법 상태로 밀어 넣는 사용자입니다 . 이 경우 InvalidOperationException에 표시된대로 던질 수있는 권리 예외 이 이전 대답 . 이렇게하면 개체 불법 상태 되는 것을 방지 할 수 있습니다 .

말할 필요도없이 개체를 어떻게 사용해야하는지 문서화 해야합니다. 개체의 기대 수명이 길거나 다른 개체간에 사용 / 공유되는 경우 사용자가 현재 상태를 요청할 수 있고 ToString, 예를 들어 디버깅에서 현재 상태를 텍스트로 검색 하도록 구현 하는 것이 좋습니다. 환경 / 로그.


내가 System.InvalidProgramException이라고 말하면 원하는 것에 가장 가깝습니다. 사용자 지정 예외를 던지는 데있어 문제점은 무엇입니까?

참조 URL : https://stackoverflow.com/questions/259800/is-there-a-built-in-net-exception-that-indicates-an-illegal-object-state

반응형