std::bad_variant_access
来自cppreference.com
定义于头文件 <variant>
|
||
class bad_variant_access : public std::exception |
(C++17 起) | |
std::bad_variant_access
是下列情形中抛出的异常类型:
- 以不匹配当前活跃可选项的下标或类型调用 std::get(std::variant)
- 调用 std::visit 观览因异常无值 (valueless_by_exception) 的
variant
成员函数
(构造函数) |
构造 bad_variant_access 对象 (公开成员函数) |
std::bad_variant_access::bad_variant_access()
bad_variant_access() noexcept; |
||
构造新的 std::bad_variant_access
实例。
参数
(无)
继承自 std::exception
成员函数
[虚] |
析构该异常对象 ( std::exception 的虚公开成员函数) |
[虚] |
返回解释性字符串 ( std::exception 的虚公开成员函数) |
示例
运行此代码
#include <variant> #include <iostream> int main() { std::variant<int, float> v; v = 12; try { std::get<float>(v); } catch(const std::bad_variant_access& e) { std::cout << e.what() << '\n'; } }
可能的输出:
bad_variant_access
参阅
(C++17) |
以给定索引或类型(若类型唯一)读取 variant 的值,错误时抛出异常 (函数模板) |
(C++17) |
以一或多个 variant 所保有的各实参调用所提供的函数对象 (函数模板) |