C++|異常處理
阿新 • • 發佈:2021-08-19
C++的異常處理機制是由三部分組成:檢查(try)、丟擲(throw)和捕獲(catch)。需要檢查的語句放到try中;throw用來當出現異常時發出一個異常資訊;catch用來捕獲異常資訊,且處理它。
例子:給三角形的三邊a、b、c,求三角形的面積。只有a+b>c,b+c>a,c+a>b時才構成三角形,設定異常處理,對不符合三角形條件的輸出警告資訊,不予計算。
#include <iostream> #include <cmath> using namespace std; double triangle(double a,double b,double c) { double s=(a+b+c)/2; if(a+b<=c || b+c<=a || a+c<=b) throw a; return sqrt(s*(s-a)*(s-b)*(s-c)); } int main() { double triangle(double,double,double); double a,b,c; cin >>a>>b>>c; try { while(a>0 && b>0 && c>0) { cout <<triangle(a,b,c)<<endl; cin >>a>>b>>c; } } catch(double) { cout <<"a="<<a<<"b="<<b<<"c="<<c<<",這構不成三角形!"<<endl; } cout <<"end"<<endl; return 0; }
說明:
1、throw丟擲a異常(double型),去匹配對應的catch處理異常。
2、a是double型,而catch字句的括號內指定資訊的型別也是double型。
作者: Pam
出處: https://www.cnblogs.com/pam-sh/>
關於作者:網安在讀
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出, 原文連結