Home C C++ Java Python Perl PHP SQL JavaScript Linux Selenium QT Online Test

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;
}

Execution of C++ code

C++ exceptional handling example