> This page is for SDKs, version Legacy.
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 2.11.2

**`(fix):`** Change core files to fully qualify references to `Attribute` and related types in case of name collision.

## 2.11.1

**`(fix):`** When `include-exception-handler: true` is configured:

* Remove unneeded `CaptureException` method from `Interceptor` class, since there's already an `Intercept` method.

## 2.11.0

**`(feat):`** Add constructor exception handling infrastructure for SDK authors to capture initialization errors.

When `include-exception-handler: true` is configured:

* Adds `CaptureException` method to `ExceptionHandler` class for capturing exceptions without re-throwing
* Wraps all client constructors (root and sub-clients) with try-catch blocks
* Initializes `clientOptions.ExceptionHandler` with a custom interceptor in the root client constructor
* Generates a `{PackageName}ExceptionInterceptor` stub class that SDK authors can customize

New configuration option:

* `exception-interceptor-class-name`: Custom name for the exception interceptor class (optional)

Example generators.yml configuration:

```yml
groups:
  dotnet-sdk:
    generators:
      - name: fernapi/fern-csharp-sdk
        version: 2.11.0
        config:
          include-exception-handler: true
          exception-interceptor-class-name: MyCustomExceptionInterceptor
```

SDK authors can implement their exception capturing logic (e.g., application monitoring platform, logging) in the generated interceptor class.