불법적 인 상태가 발생하면 어떤 예외를 throw해야합니까? 예를 들어 두 번째 호출되면 초기화 메서드를 호출해야합니까? 나는 내장 된 예외를 이해하지 못한다. 이것은 프레임 워크에 있어야하는 무언가처럼 보입니다 - 나는 올바른 장소에서 파고 있지 않습니까?잘못된 개체 상태를 나타내는 기본 제공 .NET 예외가 있습니까?
답변
개체의 현재 상태에 대한 메서드 호출이 유효하지 않은 경우에 throw되는 예외입니다.
나는 System.InvalidProgramException이 원하는 것에 가장 가까이 있다고 말하고 싶습니다. 사용자 정의 예외를 throw하는 것이 잘못된 이유는 무엇입니까?
IPE : "프로그램에 잘못된 Microsoft 중간 언어 (MSIL) 또는 메타 데이터가 포함되어 있으면 예외가 발생합니다. 일반적으로 프로그램을 생성 한 컴파일러의 버그를 나타냅니다." 표준 예외를 사용하면 프레임 워크 및 타사 응용 프로그램과의 일관성이 유지됩니다. –
프레임 워크에 사례를 지원할 수있는 것이 없으면 사용자 지정 예외에는 아무런 문제가 없습니다. 커스텀 ArrayList를 작성할 수는 있지만, 왜 그런가? –
좋아요, pYrania처럼 나는 왜 이것이 중요하다고 생각합니까? ArrayList를 구현하기 위해 일부 코드를 작성해야하지만,이 코드를 비교하여 사용자 정의 예외를 생성 할 수는 없습니다 ... – botismarius
- 1. C#에서는 사용하지 않아야하는 기본 제공 예외가 있습니까?
- 2. 비즈니스 개체 상태를 확인하는 방법 - .NET, NHibernate
- 3. .NET : 이전/새 값을 포함하는 PropertyChangedEventArgs의 기본 제공 버전이 있습니까?
- 4. asp.net에서 유효성 검사기 상태를 반환하는 기본 제공 javascript 함수
- 5. 모든보기에 사용자 개체 제공
- 6. 잘못된 프로그램 예외가 처리되었습니다.
- 7. 잘못된 인수 예외가 발생했습니다.
- 8. 잘못된 테이블 예외가 무엇인지 아는 사람 있습니까?
- 9. 잘못된 개체 이름 'aspnet_Membership'
- 10. jibx : 필수 개체 예외가 누락되었습니다.
- 11. .NET에서 잘못된 캐스트 예외가 발생했습니다.
- 12. 잘못된 개체 이름 '@ImageIDsToDelete'
- 13. 잘못된 개체 이름 'tableName'오류
- 14. 잘못된 작업 예외가 처리되지 않았습니다.
- 15. System.Drawing.Color를 ReportColor로 변환하는 기본 제공 방법이 있습니까?
- 16. UISegmentedControl의 기본 상태를 어떻게 설정할 수 있습니까?
- 17. WPF 기본 제공 명령
- 18. 잘못된 이미지 예외가 발생하는 웹 배포
- 19. 잘못된 개체 이름 "CAccounts는"
- 20. 잘못된 개체 이름 'INFORMATION_SCHEMA.COLUMNS은'
- 21. 예외가 발생한 경우에만 개체 정리
- 22. 시간에 개체 상태를 추적하는 방법?
- 23. 상태를 표시하고 .net 응용 프로그램과 상호 작용할 수있는 간단한 웹 페이지를 어떻게 제공 할 수 있습니까?
- 24. OOD : 계산 된 값을 나타내는 다중 개체
- 25. 부울을 반환하거나 이진 상태를 나타내는 메서드의 명명 규칙?
- 26. FluentNHibernate 오류 - "잘못된 개체 이름"
- 27. error_messages_for에 대한 기본 옵션 제공
- 28. .NET에서 메시지의 오류를 구문 분석하는 기본 제공 방법이 있습니까?
- 29. 특정 .net 페이지의 잘못된 viewstate
- 30. Google Wave 앱에서 잘못된 인수 예외가 발생했습니다.
점점 더 많은 사람들이 새로운 것을 생성하는 대신 InvalidOperationException을 사용해야합니다. – JaredPar
고마워요! 나는 뭔가 있어야한다는 것을 알고있었습니다. –
InvalidOperationException을 catch하면 파생 된 것도 catch 할 수 있도록 True 또는 적어도 파생됩니다. IOE에서 파생 된 예외 (MSDN 하단)를보고 자신의 롤업을 이해할 수 있는지 알아보십시오. –