Saturday, 6 September 2014

Exception Handling

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Triangle
{
    class InvalidTriangleException:ApplicationException
    {
        public InvalidTriangleException()
        {
        }
        public InvalidTriangleException(string ex)
            : base(ex)
        {

        }
    }
    class Triangle
    {
        double side1;
        double side2;
        double side3;

        public Triangle(double side1, double side2, double side3)
        {
            this.side1 = side1;
            this.side2 = side2;
            this.side3 = side3;
            double p=(side1+side2+side3)/2;
            double heron=p*(p-side1)*(p-side2)*(p-side3);
            if ((side1 <= 0 || side2 <= 0 || side3 <= 0))
            {
                throw new InvalidTriangleException("Sides of the triangle should not be negative");
            }
            else if (heron<0)
            {
                throw new InvalidTriangleException("Bad triangle dimesions");
            }
        }
        public double findArea()
        {
                double p = findPerimeter() / 2;
                System.Console.WriteLine("Perimeter of the triangle={0}", p);
                double area = Math.Sqrt(p * (p - side1) * (p - side2) * (p - side3));
                return area;
        }

        public double findPerimeter()
        {
            double perimeter = side1 + side2 + side3;
            return perimeter;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Triangle triangle1 = new Triangle(27.3, 11.9, 24);
                Triangle triangle2 = new Triangle(-27.3, -11.9, -24);
                Triangle triangle3 = new Triangle(1, 1, 7);
                System.Console.WriteLine("The area of the triangle1=" + triangle1.findArea());
                System.Console.WriteLine("The area of the triangle2=" + triangle2.findArea());
                System.Console.WriteLine("The area of the triangle3=" + triangle3.findArea());
            }
            catch (InvalidTriangleException ite)
            {
                System.Console.WriteLine(ite.Message);
            }
        }
    }
}

No comments:

Post a Comment