Jonas Bergqvist
Optimizely
Dec 8, 2016
visibility 15756
star star star star star star
(7 votes)

Exceptions in Find

Episerver Find can be used in many places on a site, like menus, navigations, listings, and searches. One thing that usually are forgotten when using Find is that it’s a service in the “cloud”, where you should handle possible exceptions.

EPiServer.Find.ServiceException

The “ServiceException” is the most important exception that should be handled in every place where Find is used. This exception will be thrown if the service is down, or if there is any other communication problem.

This exception inherits from ApplicationException.

EPiServer.Find.ClientException

The “ClientException” can be thrown when the query contains errors that is found at runtime. There is also several specific exceptions that inherit from “ClientException”.

This exception inherits from ApplicationException.

EPiServer.Find.SelfReferencingLoopException

The “SelfReferencingLoopException” will be thrown if a circular reference is found at runtime. There can for example exist a “Parent” property on a class, where the class of the parent property has a reference to the current class.

This exception inherits from ClientException.

EPiServer.Find.ProjectionException

The “ProjectionException” will be thrown if the projection (Select) is used in the wrong way in the query.

This exception inherits from ClientException.

EPiServer.Find.Api.InvalidIndexIdException

The “InvalidIndexIdException” will be thrown if the id of the index is null, or over 100 characters.

This exception inherits from ClientException.

EPiServer.Find.Api.InvalidDocumentIdException

The “InvalidDocumentIdException” will be thrown if the id of the document is null, or over 100 characters.

This exception inherits from ClientException.

EPiServer.Find.Api.InvalidSearchRequestException

The “InvalidSearchRequestException” will be thrown if the terms facet has been set to a value less than 0, or higher than 1000.

This exception inherits from ClientException.

Conclusion

Handle “EPiServer.Find.ServiceException” and “EPiServer.Find.ClientException” on all places where a query is created and executed against Find.

Dec 08, 2016

Comments

error Please login to comment.
Latest blogs
Unit-Level Promotion Exclusions: Updated Behaviour and Developer Guide

Introduction Since Commerce 13, Optimizely Commerce Connect has supported two modes for promotion exclusion: order-level and unit-level. Order-leve...

Viet Anh Nguyen | Oct 23, 2026

Experimentation When the Agent Makes the Decision

When an agent enters the loop, an A/B test loses its obvious unit, its obvious variant and its obvious decision-maker. WebMCP, WebKit's objection, ...

Piotr | Oct 23, 2026 |

Virtual Opticon 2026: Where AI Can Improve DXP Delivery

Consider a campaign whose first draft takes ten minutes to generate but then waits five days for review. Faster drafting has helped one task. The...

Augusto Davalos | Oct 21, 2026

The Low-Level API Is Not Automatically Fast. Part 4: Counting Round Trips

The low-level Commerce DTO API is not automatically fast: counting the database round trips per imported row, and four fixes I would apply first.

Stanisław Szołkowski | Oct 21, 2026 |

The Migration Bugs That Actually Caught Us Out

The less obvious issues we hit migrating Optimizely CMS 11 to CMS 12 and .NET 8, including routing changes, JSON model binding, package dependency...

Dom Reilly | Oct 20, 2026 |

Camp Opticon 26 (London): AI requires a different operating model

Introduction Last week I attended Camp Opticon 26 in London and although it was far from my first time at Opticon, it was in fact my first time tha...

WilliamP | Oct 20, 2026