exception::what()用于获取字符串标识异常。此函数返回一个空终止的字符序列,该序列可用于标识异常。以下是相同的语法:
头文件:
#include<exception>
用法:
virtual const char* what() const throw();
返回:函数std::what()返回一个空终止的字符序列,用于识别异常。
注意:要使用std::what(,应设置适当的try和catch块。
下面的程序可以更好地理解std::what(的实现:
程序1:
// C++ code for exception::what()
#include <bits/stdc++.h>
using namespace std;
struct gfg:exception {
const char* what() const noexcept
{
return "GeeksforGeeks!! "
"A Computer Science"
" Portal For Geeks";
}
};
// main method
int main()
{
// try block
try {
throw gfg();
}
// catch block to handle the errors
catch (exception& gfg1) {
cout << gfg1.what();
}
return 0;
}
输出:
GeeksforGeeks!! A Computer Science Portal For Geeks
程序2:
// C++ code for exception::what()
#include <bits/stdc++.h>
using namespace std;
struct geeksforgeeks:exception {
const char* what() const noexcept
{
return "Hey!!";
}
};
// main method
int main()
{
// try block
try {
throw geeksforgeeks();
}
// catch block to handle the errors
catch (exception& gfg) {
cout << gfg.what();
}
return 0;
}
输出:
Hey!!
参考:http://www.cplusplus.com/reference/exception/exception/what/
相关用法
- C++ std::less用法及代码示例
- C++ cin get()用法及代码示例
- C++ iswprint()用法及代码示例
- C++ std::is_copy_constructible用法及代码示例
- C++ iswgraph()用法及代码示例
- C++ std::bit_xor用法及代码示例
- C++ std::remove_const用法及代码示例
- C++ std::is_trivially_assignable用法及代码示例
- C++ basic_istream::get()用法及代码示例
- C++ std::has_virtual_destructor用法及代码示例
- C++ cauchy_distribution a()用法及代码示例
- C++ ratio_equal()用法及代码示例
- C++ std::to_address用法及代码示例
- C++ std::is_nothrow_destructible用法及代码示例
- C++ std::remove_volatile用法及代码示例
- C++ std::is_trivially_move_assignable用法及代码示例
注:本文由纯净天空筛选整理自bansal_rtk_大神的英文原创作品 exception::what() in C++ with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。