⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 except.h

📁 早期freebsd实现
💻 H
字号:
/* * except.h * * Definitions and macros for C exception mechanism * (c) Jeffrey Mogul	Stanford	18 February 1983 */#include <setjmp.h>typedef struct _Except_buf_x {	struct _Except_buf_x *Prev;	/* exception chain back-pointer */	jmp_buf Environ;		/* saved environment */	char *Message;			/* Human-readable cause */	int Code;			/* Exception code */} _Except_Buf;extern _Except_Buf *_Except_Header;	/* global exception chain header *//* * "syntax": *	DURING statement HANDLER statement END_HANDLER */#define	_E_RESTORE	_Except_Header = Exception.Prev#define	DURING {_Except_Buf Exception;\		 Exception.Prev=_Except_Header;\		 _Except_Header= &Exception;\		 if (!setjmp(Exception.Environ)) {#define	HANDLER	_E_RESTORE;} else#define	END_HANDLER }#define	E_RETURN(x) {_E_RESTORE; return(x);}#define	E_RETURN_VOID {_E_RESTORE; return;}#define	RERAISE	raise(Exception.Code, Exception.Message)/* * Exception modes (combined with ||): */#define	EX_MODE_REPORT	1	/* report uncaught errors on stderr */#define	EX_MODE_ABORT	2	/* abort if uncaught error */extern int ExceptMode;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -