当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ exception::what()用法及代码示例


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/




相关用法


注:本文由纯净天空筛选整理自bansal_rtk_大神的英文原创作品 exception::what() in C++ with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。