# ExpressionEvaluationResult

Canonical page: https://www.adaptabletools.com/docs/reference/expressionevaluationresult

Result envelope of every synchronous `expressionApi.evaluate*` / `filter*` call.

Evaluation failures are *expected* input errors (expression typos, unknown
columns, missing row target, unavailable functions), so the API never
throws — check `success` and read `value` / `errorMessage` accordingly.

```ts title="TypeScript"
export type ExpressionEvaluationResult<T> = {
    success: true;
    value: T;
} | {
    success: false;
    errorMessage: string;
};
```
