| 1 | // Licensed to the .NET Foundation under one or more agreements. |
| 2 | // The .NET Foundation licenses this file to you under the MIT license. |
| 3 | // See the LICENSE file in the project root for more information. |
| 4 | |
| 5 | /********************************************************************* |
| 6 | ** ** |
| 7 | ** CorExcep.h - lists the exception codes used by the CLR. ** |
| 8 | ** ** |
| 9 | *********************************************************************/ |
| 10 | |
| 11 | |
| 12 | #ifndef __COREXCEP_H__ |
| 13 | #define __COREXCEP_H__ |
| 14 | |
| 15 | // All COM+ exceptions are expressed as a RaiseException with this exception |
| 16 | // code. If you change this value, you must also change |
| 17 | // mscorlib\src\system\Exception.cs's _COMPlusExceptionCode value. |
| 18 | |
| 19 | #define EXCEPTION_MSVC 0xe06d7363 // 0xe0000000 | 'msc' |
| 20 | |
| 21 | #define EXCEPTION_COMPLUS 0xe0434352 // 0xe0000000 | 'CCR' |
| 22 | |
| 23 | #define EXCEPTION_HIJACK 0xe0434f4e // 0xe0000000 | 'COM'+1 |
| 24 | |
| 25 | #ifdef FEATURE_STACK_PROBE |
| 26 | #define EXCEPTION_SOFTSO 0xe053534f // 0xe0000000 | 'SSO' |
| 27 | // We can not throw internal C++ exception through managed frame. |
| 28 | // At boundary, we will raise an exception with this error code |
| 29 | #endif |
| 30 | |
| 31 | #if defined(_DEBUG) |
| 32 | #define EXCEPTION_INTERNAL_ASSERT 0xe0584d4e // 0xe0000000 | 'XMN' |
| 33 | // An internal Assert will raise this exception when the config |
| 34 | // value "RaiseExceptionOnAssert" si specified. This is used in |
| 35 | // stress to facilitate failure triaging. |
| 36 | #endif |
| 37 | |
| 38 | // This is the exception code to report SetupThread failure to caller of reverse pinvoke |
| 39 | // It is misleading to use our COM+ exception code, since this is not a managed exception. |
| 40 | // In the end, we picked e0455858 (EXX). |
| 41 | #define EXCEPTION_EXX 0xe0455858 // 0xe0000000 | 'EXX' |
| 42 | #endif // __COREXCEP_H__ |
| 43 | |