hydrocode_Radial_Lag 0.3
This is an implementation of fully explict forward Euler scheme for multi-D radially symmetric compressible flows on Lagrangian coordinate
except.h 文件参考

This file is a header file of source codes in the book 'C Interfaces and Implementations'. 更多...

#include <setjmp.h>
except.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  T
 
struct  Except_Frame
 

宏定义

#define T   Except_T
 
#define RAISE(e)   Except_raise(&(e), __FILE__, __LINE__)
 
#define RERAISE
 
#define RETURN   switch (Except_stack = Except_stack->prev,0) default: return
 
#define TRY
 
#define EXCEPT(e)
 
#define ELSE
 
#define FINALLY
 
#define END_TRY
 

类型定义

typedef struct T T
 
typedef struct Except_Frame Except_Frame
 

枚举

enum  { Except_entered =0 , Except_raised , Except_handled , Except_finalized }
 

函数

void Except_raise (const T *e, const char *file, int line)
 

变量

Except_FrameExcept_stack
 
const Except_T Assert_Failed
 

详细描述

This file is a header file of source codes in the book 'C Interfaces and Implementations'.

This header file declares functions in the source file 'src_cii/except.c'.

在文件 except.h 中定义.

宏定义说明

◆ ELSE

#define ELSE
值:
if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
} else { \
Except_flag = Except_handled;
@ Except_entered
Definition: except.h:22
@ Except_handled
Definition: except.h:23
Except_Frame * Except_stack
Definition: except.c:14
Except_Frame * prev
Definition: except.h:16

在文件 except.h45 行定义.

◆ END_TRY

#define END_TRY
值:
if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
} if (Except_flag == Except_raised) RERAISE; \
} while (0)
@ Except_raised
Definition: except.h:22
#define RERAISE
Definition: except.h:31

在文件 except.h54 行定义.

◆ EXCEPT

#define EXCEPT (   e)
值:
if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
} else if (Except_frame.exception == &(e)) { \
Except_flag = Except_handled;

在文件 except.h41 行定义.

◆ FINALLY

#define FINALLY
值:
if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
} { \
if (Except_flag == Except_entered) \
Except_flag = Except_finalized;
@ Except_finalized
Definition: except.h:23

在文件 except.h49 行定义.

◆ RAISE

#define RAISE (   e)    Except_raise(&(e), __FILE__, __LINE__)

在文件 except.h30 行定义.

◆ RERAISE

#define RERAISE
值:
Except_raise(Except_frame.exception, \
Except_frame.file, Except_frame.line)
void Except_raise(const T *e, const char *file, int line)
Definition: except.c:15

在文件 except.h31 行定义.

◆ RETURN

#define RETURN   switch (Except_stack = Except_stack->prev,0) default: return

在文件 except.h33 行定义.

◆ T

#define T   Except_T

在文件 except.h10 行定义.

◆ TRY

#define TRY
值:
do { \
volatile int Except_flag; \
Except_Frame Except_frame; \
Except_frame.prev = Except_stack; \
Except_stack = &Except_frame; \
Except_flag = setjmp(Except_frame.env); \
if (Except_flag == Except_entered) {

在文件 except.h34 行定义.

类型定义说明

◆ Except_Frame

typedef struct Except_Frame Except_Frame

在文件 except.h14 行定义.

◆ T

typedef struct T T

枚举类型说明

◆ anonymous enum

anonymous enum
枚举值
Except_entered 
Except_raised 
Except_handled 
Except_finalized 

在文件 except.h22 行定义.

函数说明

◆ Except_raise()

void Except_raise ( const T e,
const char *  file,
int  line 
)

在文件 except.c15 行定义.

这是这个函数的调用关系图:

变量说明

◆ Assert_Failed

const Except_T Assert_Failed
extern

◆ Except_stack

Except_Frame* Except_stack
extern

在文件 except.c14 行定义.