const char* what() const noexcept override;
概要
エラー理由の文字列を取得する。
戻り値
エラー理由となる実装定義の文字列
例外
投げない
例
#include <cassert>
#include <expected>
#include <iostream>
#include <string>
int main()
{
std::expected<int, std::string> v = std::unexpected{"ERR"};
try {
std::cout << v.value() << std::endl;
} catch (const std::bad_expected_access<std::string>& ex) {
std::cout << ex.what() << std::endl;
}
}
出力例
bad access to std::expected without expected value
バージョン
言語
- C++23
処理系
- Clang: 16.0 ✅
- GCC: 12.1 ✅
- ICC: ??
- Visual C++: ??