YSTest: Exceptions

YSTest PreAlpha_b800_20170810 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

类
Exceptions

异常类型。 更多...

## 类

class | ystdex::bad_any_cast
| 动态泛型转换失败异常。 更多...
class | ystdex::unsupported
| 异常：不支持的操作。 更多...
class | ystdex::bad_optional_access
| 可选值操作失败异常。 更多...
class | NPL::NPLException
| NPL 异常基类。 更多...
class | YSLib::Messaging::MessageException
| 消息异常。 更多...
class | YSLib::Messaging::MessageSignal
| 消息信号：表示单一处理中断的异常。 更多...
class | YSLib::UI::BadEvent
| 错误或不存在的部件事件异常。 更多...
class | YSLib::UI::UIEventSignal
| 用户事件信号：表示携带用户事件的消息处理中断的异常。 更多...
using | YSLib::GeneralEvent = std::runtime_error
| 一般运行时异常事件类。 更多...
#define | YCL_Raise_Win32E(...)
| 取转换为 errno 的 Win32 错误。 更多...
#define | YCL_RaiseZ_Win32E(_expr, ...)
| 按表达式求值和指定参数抛出 Windows::Win32Exception 对象。 更多...
#define | YCL_Trace_Win32E(_lv, _fn, _sig)
| 跟踪 ::GetLastError 取得的调用状态结果。 更多...
#define | YCL_WrapCall_Win32(_fn, ...)
| 调用 Win32 API 或其它可用 ::GetLastError 取得调用状态的例程。 更多...
#define | YCL_Call_Win32(_fn, _sig, ...) YCL_WrapCall_Win32(_fn, __VA_ARGS__)(_sig)
#define | YCL_CallF_Win32(_fn, ...) YCL_Call_Win32(_fn, yfsig, __VA_ARGS__)

## 详细描述

异常类型。

自从
  build 590

## 宏定义说明

#define YCL_Call_Win32 | ( |  | _fn,
|  |  | _sig,
|  |  | ...
| ) |  | YCL_WrapCall_Win32(_fn, __VA_ARGS__)(_sig)

在文件 MinGW32.h 第 186 行定义.

#define YCL_CallF_Win32 | ( |  | _fn,
|  |  | ...
| ) |  | YCL_Call_Win32(_fn, yfsig, __VA_ARGS__)

自从
  build 638

在文件 MinGW32.h 第 190 行定义.

参考自 platform::CreateHardLink().

#define YCL_Raise_Win32E | ( |  | ... | ) |

值:
do \
{ \
const auto err_(::GetLastError()); \
\
throw platform_ex::Windows::Win32Exception(err_, __VA_ARGS__); \
}while(false)

取转换为 errno 的 Win32 错误。

自从
  build 622

Win32 错误引起的宿主异常。

自从
  build 426

前置条件
  错误码不等于 0 。

警告
  初始化参数时可能会改变 ::GetLastError() 的结果。

自从
  build 643

前置条件
  第三参数非空。

注解
  第三参数是表示调用位置函数签名，可以使用 `func` 。

虚析构：类定义外默认实现。

自从
  build 586

取错误类别。

返回
  std::error_category 派生类的 const 引用。

自从
  build 545

格式化错误消息字符串。

返回
  若发生异常则结果为空，否则为区域固定为 en-US 的系统消息字符串。

自从
  build 714

按 `::GetLastError` 的结果和指定参数抛出 Windows::Win32Exception 对象。

注解
  先调用 `::GetLastError` 以避免参数中的副作用影响结果。

在文件 MinGW32.h 第 138 行定义.

#define YCL_RaiseZ_Win32E | ( |  | _expr,
|  |  | ...
| ) |  |

值:
do \
{ \
const auto err_(Windows::ErrorCode(_expr)); \
\
if(err_ != ERROR_SUCCESS) \
throw platform_ex::Windows::Win32Exception(err_, __VA_ARGS__); \
}while(false)
platform::if
if(!p) p
platform_ex::Windows::ErrorCode
unsigned long ErrorCode
Definition: MinGW32.h:57

按表达式求值和指定参数抛出 Windows::Win32Exception 对象。

在文件 MinGW32.h 第 147 行定义.

参考自 platform_ex::Windows::RegistryKey::YB_NONNULL().

#define YCL_Trace_Win32E | ( |  | _lv,
|  |  | _fn,
|  |  | _sig
| ) |  |

值:
do \
{ \
const auto err_(::GetLastError()); \
\
YTraceDe(_lv, "Failed calling " #_fn " @ %s with error %lu: %s", \
_sig, err_, \
platform_ex::Win32Exception::FormatMessage(err_).c_str()); \
}while(false)
YTraceDe
#define YTraceDe(...)
YCLib 默认调试跟踪。
Definition: Debug.h:313
NPL::c_str
YF_API const char src c_str())) YF_API void InstallDirectory(const string &
安装目录：复制目录树。
Definition: Dependency.h:131

跟踪 ::GetLastError 取得的调用状态结果。

在文件 MinGW32.h 第 157 行定义.

#define YCL_WrapCall_Win32 | ( |  | _fn,
|  |  | ...
| ) |  |

值:
[&](const char* sig_) YB_NONNULL(1){ \
const auto res_(_fn(__VA_ARGS__)); \
\
if(YB_UNLIKELY(!res_)) \
YCL_Raise_Win32E(#_fn, sig_); \
return res_; \
}
YSLib::IO::Path::YB_NONNULL
PDefH(String, GetExtensionOf, const Path &pth) ImplRet(pth.empty()?String() YF_API YB_NONNULL(1) bool VerifyDirectory(const char *)
判断路径表示绝对路径。
Definition: YSLib/Service/FileSystem.h:466
YB_UNLIKELY
#define YB_UNLIKELY(_expr)
分支预测提示。
Definition: ydef.h:464
YCL_Raise_Win32E
#define YCL_Raise_Win32E(...)
取转换为 errno 的 Win32 错误。
Definition: MinGW32.h:138
platform::if
if(!p) p

调用 Win32 API 或其它可用 ::GetLastError 取得调用状态的例程。

注解
  调用时直接使用实际参数，可指定非标识符的表达式，不保证是全局名称。
  若失败抛出 Windows::Win32Exception 对象。

参见
  YCL_Raise_Win32E

在文件 MinGW32.h 第 177 行定义.

## 类型定义说明

using YSLib::GeneralEvent = typedef std::runtime_error

一般运行时异常事件类。

在文件 YException.h 第 46 行定义.