Salome HOME
NRI : Merge from V1_2.
[modules/kernel.git] / idl / SALOME_Exception.idl
1 //=============================================================================
2 // File      : SALOME_Exception.idl
3 // Created   : mar déc 18 17:57:27 CET 2001
4 // Author    : Paul RASCLE, EDF
5 // Project   : SALOME
6 // Copyright : EDF 2001
7 // $Header$
8 //=============================================================================
9
10 /*! \file SALOME_Exception.idl This file contains the objects defining the main exception used
11 in %SALOME application.
12 */ 
13 #ifndef _SALOME_EXCEPTION_IDL_
14 #define _SALOME_EXCEPTION_IDL_
15
16 /*! 
17 Module SALOME regroups all idl definitions for SALOME Kernel
18 */ 
19
20 module SALOME
21 {
22 /*! 
23 This enumeration contains the elements indicating the type of the exception.
24 */  
25   enum ExceptionType
26     { 
27       COMM,             /*!< Communication problem */
28       BAD_PARAM,        /*!< Bad User parameters */
29       INTERNAL_ERROR    /*!< SALOME Bug, irrecoverable */ 
30     };
31 /*! 
32 This struct contains a set of fields defining the structure of the exception.
33 */
34   struct ExceptionStruct
35   {
36     ExceptionType type; /*!<Type of the exception.*/
37     string        text; /*!<Message which is shown when the exception is raised.*/
38     string        sourceFile; /*!<The source file where the exception is raised.*/
39     unsigned long lineNumber; /*!<Number of the line of the source file where the exception is raised.*/
40   };
41 /*!
42 The main exception in %SALOME application.
43 */
44   exception SALOME_Exception
45   {
46     ExceptionStruct details;
47   };
48
49 };
50
51 #endif