1. 程式人生 > 其它 >C++|異常處理

C++|異常處理

  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/>

關於作者:網安在讀

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出, 原文連結

如有問題, 可郵件([email protected])諮詢.