ایجاد استثناء یا exception در QT - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ایجاد استثناء یا exception در QT

+1 امتیاز
سلام.

آیا میشه در یک تابع استثنا ایجاد کنم و بعد در main آن استثنا< را مدیریت کنم؟
سوال شده اردیبهشت 4, 1393  بوسیله ی LoOL (امتیاز 96)   2 8 17
دوباره تگ گذاری شد مهر 9, 1393 بوسیله ی BlueBlade

1 پاسخ

0 امتیاز

بله چرا که نه

شما داخل تابع throw رو مینویسی بعد داخل main از try catch استفاده می کنی

می تونی برای Exception از کلاس exception خود c++ یا QException کیوت هم ارث ببری ویک شی از اون رو برگردونی .

مثال :

#include <iostream>
#include <exception>
using namespace std;

class NameException
{
public:
    virtual const char* what() const throw()
    {
        return "Name is too small !\n";
    }
} nameException;


string getName()
{
    std::string name;
    cin>>name;
    if(name.size()<5)
        throw nameException;
    return name;
}

int main()
{
    string name;
    try{
        name=getName();
    }
    catch(const NameException& e){
        cout<<e.what();
    }
}

 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...