try/catch 블록의 부족을 오류로 처리하는 gcc (g ++)에 컴파일러 매개 변수가 있는지 궁금합니다. 이것은 자바의 표준 동작이며 나는 항상 그것을 좋아했다.C++ 컴파일러가 예외 처리를 확인하도록 강요합니다.
답변
자바에서 체크 된 예외가 throw
서명에 의존하기 때문에 당신이 SO에 this question에서 C++에서 throw
기능 서명을 사용하지 않습니다 이유를 읽을 수 있습니다.
예외가있는 C++에서 할 일은 사용 기능의 예외 사양입니다. 즉 적극적으로 그 함수에서 발생되는 비상장 예외를 방지하지 않습니다,하지만 그 오류하게 (그리고 미리 정의 된 unexpected()
에 모두 매핑합니다.
을 그래서 int f() throw();
는 C++의에서 제기되고 예외 치료 "입니다 오류 "로 함수 f
아마도 "_runtime_ error"로 처리 할 가치가 있습니다. C++ 컴파일러는 여전히'void foo()'를 컴파일하는 데있어 _required_입니다. throw() {throw 42; }'. –
글쎄 :. http://cplusplus.co.il/2009/10/06/exception-specifications/
그리고 이것들을 사용하지 않을 경우, 컴파일러는 기본적으로 던져 질 수있는 예외 알 수있는 방법이 없기 때문에 더있다 그 방법.
당신이 할 수있는 일은 std :: terminate (std :: set_terminate() 호출)의 구현을 제공하고 거기에 캐치되지 않은 예외를 처리하는 것입니다.
- 1. try 예외 처리를 시도하십시오
- 2. 예외 처리를 구현하는 Java
- 3. Xcode 3.2.3에서 예외 처리를 사용하는 방법?
- 4. Qt가 예외 처리를 사용하지 않는 이유는 무엇입니까?
- 5. objective-c 및 xcode에서 예외 처리를 활성화하는 방법
- 6. 어떻게 C# 컴파일러가 작동합니까?
- 7. 은 C# 컴파일러가 exentisble입니까?
- 8. ELMAH를 사용하는 경우 예외 처리를 사용해야합니까?
- 9. 누군가 제게 예외 처리를 설명해 주시겠습니까?
- 10. Ruby에서 예외 처리를 일반적인 메소드로 사용
- 11. ToMethod를 사용할 때 null을 확인하도록 Ninject를 구성하십시오.
- 12. 컨트롤이 자신을 확인하도록 강제하는 방법?
- 13. 정적으로 쉽게 확인하도록 설계된 언어
- 14. C# VS2008 컴파일러가 잘못 선택되었습니다.
- 15. XSLT to C++ 컴파일러가 있습니까?
- 16. 컴파일 단위에서 C/C++ 컴파일러가 최적화되어 있습니까?
- 17. C++ 사용자 정의 예외
- 18. C++/CLI는 캐치 처리를 시도합니다
- 19. 잘못된 키로 파일을 해독 할 것을 강요합니다 - C# + Bouncy Castle
- 20. C++ 예외 처리 오류
- 21. F # 컴파일러가 속입니까?
- 22. ASP.NET 예외 예외 발생 C#
- 23. Java 예외 대 C++ 예외
- 24. C# 예외 사용 예외 Assert?
- 25. C++의 예외 내부 예외
- 26. C++/C# 예외 throwing
- 27. Ruby에서 Kernel :: method_name을 호출하도록 강요합니다.
- 28. 페이지를 다른 페이지의 iframe에로드하도록 강요합니다.
- 29. ConfigurationManager가 모든 섹션을 다시로드하도록 강요합니다.
- 30. 하나 이상의 확인란을 선택하도록 강요합니다.
아니요, 컴파일시에 정확히 어떤 함수가 호출 될지 알 수 없으므로 기본적으로 표준의 설계에서는 불가능합니다. –
주요 기능을 찾습니다. try-catch 블록에 모든 것을 넣으십시오. 오류 없음. :) (전역 변수를 만드는 동안 예외가 발생하면 어떻게 될지 궁금합니다.) – UncleBens