- Define a custom error class and use it
Write a Triangle class that accepts three arguments on initialization. Each
argument is a length of one of the three sides of the triangle.
Define an instance method, #kind that returns, as a symbol, its
type. The valid types are:
:equilateral:isosceles:scalene
The #kind method should raise a custom error, TriangleError if the triangle
is invalid. Check out the hint below to understand what makes a triangle valid.
Write a custom error class, TriangleError and inherit it from StandardError.
This custom error class should be defined in the same file as the Triangle
class, inside the Triangle class definition, like this:
# lib/triangle.rb
class Triangle
# triangle code
class TriangleError < StandardError
# triangle error code
end
endNote: Several of the tests will be looking for the TriangleError to be
raised. If you implement a rescue for it, however, the tests will not
recognize that the error was raised. For purposes of this lab, therefore, you
should not include a rescue.
A valid triangle must meet the following criteria:
-
Each side must be larger than 0.
-
The sum of the lengths of any two sides of a triangle always exceeds the length of the third side. This is a principle known as the triangle inequality.
