calculate now throws an unchecked exception if the expression cannot be parsed. This avoids changing the method signature form the document.