0
다른 예외에서 파생 된 새 예외를 만드는 방법은 여러 가지가 있습니다. 한 가지 방법은 this기존 파생 새 예외 만들기
struct MyException : public exception
{
const char * what() const throw()
{
return "C++ Exception";
}
};
같은 것을 사용하는 또 다른 방법은 기본 클래스의 생성자를 호출하는 것입니다. 두 번째 방법은 분명 날 (작성시)을 어떻게() 메소드에 의해 출력되는 문자열을 삽입 할 수있는 이점을 제공
class My:public runtime_error
{
public:
My(string s):runtime_error(s){}
};
. 내 질문은 어떤 방법을 선호해야하며, 첫 번째 방법을 전혀 사용해야하는지 여부입니다.
"const를 문자 * 무엇을() const를 noexcept"컴파일되지 않습니다하지
noexcept
것입니다. 나는이 "noexcept 버전"을 "http://www.cplusplus.com/reference/exception/exception/exception/"에서 발견했지만 컴파일에 실패했습니다. – Slazer컴파일러 오류가 무엇입니까? 대부분의 컴파일러는 C++ 11을 완벽하게 준비하지 못했을 것입니다. –
코드와 함께 오류가 http://pastebin.com/PQ8ZhV24에 있습니다. 컴파일러는 "g ++ (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2)" – Slazer