added a test to check how exception handling works with Win32 SEH; corrected copyright
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: except.cpp
|
||||
// Purpose: Except wxWidgets sample
|
||||
// Author: Julian Smart
|
||||
// Name: samples/except/except.cpp
|
||||
// Purpose: shows how C++ exceptions can be used in wxWidgets
|
||||
// Author: Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 04/01/98
|
||||
// Created: 2003-09-17
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Copyright: (c) 2003-2005 Vadim Zeitlin
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#if !wxUSE_EXCEPTIONS
|
||||
#error "This sample only works with wxUSE_EXCEPTIONS == 1"
|
||||
#endif // !wxUSE_EXCEPTIONS
|
||||
|
||||
// for all others, include the necessary headers (this file is usually all you
|
||||
// need because it includes almost all "standard" wxWidgets headers)
|
||||
#ifndef WX_PRECOMP
|
||||
@@ -107,6 +111,7 @@ public:
|
||||
// event handlers
|
||||
void OnThrowInt(wxCommandEvent& event);
|
||||
void OnThrowObject(wxCommandEvent& event);
|
||||
void OnCrash(wxCommandEvent& event);
|
||||
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
@@ -134,6 +139,7 @@ enum
|
||||
// control ids
|
||||
Except_ThrowInt = 100,
|
||||
Except_ThrowObject,
|
||||
Except_Crash,
|
||||
|
||||
// menu items
|
||||
Except_ThrowString = 200,
|
||||
@@ -160,6 +166,7 @@ END_EVENT_TABLE()
|
||||
BEGIN_EVENT_TABLE(MyDialog, wxDialog)
|
||||
EVT_BUTTON(Except_ThrowInt, MyDialog::OnThrowInt)
|
||||
EVT_BUTTON(Except_ThrowObject, MyDialog::OnThrowObject)
|
||||
EVT_BUTTON(Except_Crash, MyDialog::OnCrash)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Create a new application object: this macro will allow wxWidgets to create
|
||||
@@ -311,6 +318,8 @@ MyDialog::MyDialog(wxFrame *parent)
|
||||
0, wxCENTRE | wxALL, 5);
|
||||
sizerTop->Add(new wxButton(this, Except_ThrowObject, _T("Throw &object")),
|
||||
0, wxCENTRE | wxALL, 5);
|
||||
sizerTop->Add(new wxButton(this, Except_Crash, _T("&Crash")),
|
||||
0, wxCENTRE | wxALL, 5);
|
||||
sizerTop->Add(new wxButton(this, wxID_CANCEL, _T("&Cancel")),
|
||||
0, wxCENTRE | wxALL, 5);
|
||||
|
||||
@@ -328,3 +337,9 @@ void MyDialog::OnThrowObject(wxCommandEvent& WXUNUSED(event))
|
||||
throw MyException(_T("Exception thrown from the dialog"));
|
||||
}
|
||||
|
||||
void MyDialog::OnCrash(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
char *p = 0;
|
||||
strcpy(p, "Let's crash");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user