yes, if base is non-positive, we fall back to Euler's number as the logarithm base.

The error checking is best to be put into the constructor? 

But what if user inputs "e", this should still be valid?