Don't use try/catch in public headers if exceptions support is disabled with a compiler switch. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
///////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wx/except.h
 | 
						|
// Purpose:     C++ exception related stuff
 | 
						|
// Author:      Vadim Zeitlin
 | 
						|
// Modified by:
 | 
						|
// Created:     17.09.2003
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
 | 
						|
// Licence:     wxWindows licence
 | 
						|
///////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _WX_EXCEPT_H_
 | 
						|
#define _WX_EXCEPT_H_
 | 
						|
 | 
						|
#include "wx/defs.h"
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// macros working whether wxUSE_EXCEPTIONS is 0 or 1
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
// even if the library itself was compiled with exceptions support, the user
 | 
						|
// code using it might be compiling with a compiler switch disabling them in
 | 
						|
// which cases we shouldn't use try/catch in the headers -- this results in
 | 
						|
// compilation errors in e.g. wx/scopeguard.h with at least g++ 4
 | 
						|
#if !wxUSE_EXCEPTIONS || \
 | 
						|
        (defined(__GNUG__) && !defined(__EXCEPTIONS))
 | 
						|
    #define wxNO_EXCEPTIONS
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef wxNO_EXCEPTIONS
 | 
						|
    #define wxTRY
 | 
						|
    #define wxCATCH_ALL(code)
 | 
						|
#else // do use exceptions
 | 
						|
    #define wxTRY try
 | 
						|
    #define wxCATCH_ALL(code) catch ( ... ) { code }
 | 
						|
#endif // wxNO_EXCEPTIONS/!wxNO_EXCEPTIONS
 | 
						|
 | 
						|
#endif // _WX_EXCEPT_H_
 | 
						|
 |