I agree that it's harder to debug this way, but at least your app doesn't crash for the user :)

But really, this is how it works in Shoes. If you type `oval :heigt => 50, :wifth => 50`, you won't get an error, you just don't get the dimensions you wanted.

For clarity, though, I'd suggest moving the validation into `#is_percent?`. A string like "50$" is not a percent, so `#is_percent` should be false, and validations don't belong in the `calculate_` methods.