Home » C++ » Solved Programs » Program of Exceptional Handling using Classes
C++ Program of Exceptional Handling using Classes
This program has two files main.cpp and circle.h files
// circle.h
#include<iostream>
using namespace std;
class Circle{
private:
double radius;
public:
class NegativeRadius{
private: double radius;
public: NegativeRadius(double rad){
this->radius = rad;
}
double getRadius(){
return radius;
}
};
void setRadius(double radius){
if(radius<0)
{
throw NegativeRadius(radius);
}
else{
this->radius = radius;
}
}
double getRadius(){
return radius;
}
double getArea(){
return (3.14*radius*radius);
}
double getDiameter(){
return (2*radius);
}
double getCircumference(){
return (2*3.14*radius*radius);
}
};
// main.cpp
#include#include
#include "circle.h"
using namespace std;
int main()
{
double radius = 0; //To hold a radius
Circle userCircle; //create an instance of the circle
cout<<"Enter the circle's radius: ";
cin>>radius;
try
{
userCircle.setRadius(radius);
// Display the circle's data.
cout<<setprecision(2) << fixed;
cout<<"Radius: "<<userCircle.getRadius() << endl;
cout<<"Area : "<<userCircle.getArea() << endl;
cout<<"Diameter: <<userCircle.getDiameter() << endl;
cout<<"Circumference: "<<userCircle.getCircumference() << endl;
}
catch (Circle::NegativeRadius e)
{
cout << "Not a valid radius." << e.getRadius() << endl;
}
return 0;
}