//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
// 
///////////////////////////////////////////////////////////////////////////////
//
//  Copyright (C) Microsoft Corp 2001.  Wszystkie prawa zastrzeżone.
//
//  Uruchomienie: W celu zgłoszenia wyjątku z kodu zarządzanego do niezarządzanego: managed2unmanaged.cmd
//                W celu zgłoszenia wyjątku z kodu niezarządzanego do zarządzanego: unmanaged2managed.cmd
//
//  Opis: Pokazuje sposób zgłaszania i obsługi wyjątków NDP w C++
//
///////////////////////////////////////////////////////////////////////////////

#include <iostream>

using namespace std;

class CException {
public:
    CException()
        : m_excode(0xFFFFFFFF) {
    }

    CException(unsigned int code)
        : m_excode(code) {
    }

    friend std::ostream &operator<<(std::ostream &out, const CException &e) {
        return out << "CException[" << e.m_excode << "]";
    }

    ~CException() {
    }

private:
    unsigned int m_excode;
};
