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

📄 errorhandling.hpp

📁 开源的ssl算法openssl,版本0.9.8H
💻 HPP
字号:
#ifdef __cplusplusextern "C" {#endif#ifndef kGenericError	#define kGenericError		-1#endifextern char	*gErrorMessage;void SetErrorMessage(const char *theErrorMessage);void SetErrorMessageAndAppendLongInt(const char *theErrorMessage,const long theLongInt);void SetErrorMessageAndCStrAndLongInt(const char *theErrorMessage,const char * theCStr,const long theLongInt);void SetErrorMessageAndCStr(const char *theErrorMessage,const char * theCStr);void AppendCStrToErrorMessage(const char *theErrorMessage);void AppendLongIntToErrorMessage(const long theLongInt);char *GetErrorMessage(void);OSErr GetErrorMessageInNewHandle(Handle *inoutHandle);OSErr GetErrorMessageInExistingHandle(Handle inoutHandle);OSErr AppendErrorMessageToHandle(Handle inoutHandle);#ifdef __EXCEPTIONS_ENABLED__	void ThrowErrorMessageException(void);#endif//	A bunch of evil macros that would be uneccessary if I were always using C++ !#define SetErrorMessageAndBailIfNil(theArg,theMessage)								\{																					\	if (theArg == nil)																\	{																				\		SetErrorMessage(theMessage);												\		errCode = kGenericError;													\		goto EXITPOINT;																\	}																				\}#define SetErrorMessageAndBail(theMessage)											\{																					\		SetErrorMessage(theMessage);												\		errCode = kGenericError;													\		goto EXITPOINT;																\}#define SetErrorMessageAndLongIntAndBail(theMessage,theLongInt)						\{																					\		SetErrorMessageAndAppendLongInt(theMessage,theLongInt);						\		errCode = kGenericError;													\		goto EXITPOINT;																\}#define SetErrorMessageAndLongIntAndBailIfError(theErrCode,theMessage,theLongInt)	\{																					\	if (theErrCode != noErr)														\	{																				\		SetErrorMessageAndAppendLongInt(theMessage,theLongInt);						\		errCode = theErrCode;														\		goto EXITPOINT;																\	}																				\}#define SetErrorMessageCStrLongIntAndBailIfError(theErrCode,theMessage,theCStr,theLongInt)	\{																					\	if (theErrCode != noErr)														\	{																				\		SetErrorMessageAndCStrAndLongInt(theMessage,theCStr,theLongInt);			\		errCode = theErrCode;														\		goto EXITPOINT;																\	}																				\}#define SetErrorMessageAndCStrAndBail(theMessage,theCStr)							\{																					\	SetErrorMessageAndCStr(theMessage,theCStr);										\	errCode = kGenericError;														\	goto EXITPOINT;																	\}#define SetErrorMessageAndBailIfError(theErrCode,theMessage)						\{																					\	if (theErrCode != noErr)														\	{																				\		SetErrorMessage(theMessage);												\		errCode = theErrCode;														\		goto EXITPOINT;																\	}																				\}#define SetErrorMessageAndLongIntAndBailIfNil(theArg,theMessage,theLongInt)			\{																					\	if (theArg == nil)																\	{																				\		SetErrorMessageAndAppendLongInt(theMessage,theLongInt);						\		errCode = kGenericError;													\		goto EXITPOINT;																\	}																				\}#define BailIfError(theErrCode)														\{																					\	if ((theErrCode) != noErr)														\	{																				\		goto EXITPOINT;																\	}																				\}#define SetErrCodeAndBail(theErrCode)												\{																					\	errCode = theErrCode;															\																					\	goto EXITPOINT;																	\}#define SetErrorCodeAndMessageAndBail(theErrCode,theMessage)						\{																					\	SetErrorMessage(theMessage);													\	errCode = theErrCode;															\	goto EXITPOINT;																	\}#define BailNow()																	\{																					\	errCode = kGenericError;														\	goto EXITPOINT;																	\}#ifdef __cplusplus}#endif

⌨️ 快捷键说明

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