redesigned evalExpression as tryExpression