Won't this raise errors for valid triangles as well?  If you run about_triangle_project.rb, you should see the errors.

I think you should add some checks above line 19 that check to see if any of the error conditions exist.