# `HoloAssetError`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

Class · `import { HoloAssetError } from '@holostep-configurators/runtime-client';` · stable · since 2.0.0 · section 3. Errors

An imperative load failed. [`Collection.load`](Collection.load.md), [`labs.decal`](Labs.decal.md) and [`labs.fire`](Labs.fire.md) reject with it, and
[`labs.prefetch`](Labs.prefetch.md) too, whose failure is recorded nowhere else ([`Labs.prefetch`](Labs.prefetch.md)).
Declarative writes never throw it: their asset failures are in [`Report.problems`](ReportFields.problems.md).

## Members

| Member | Kind | Summary |
| --- | --- | --- |
| <a id="constructor"></a>[`constructor`](HoloAssetError.constructor.md) | constructor | As the runtime builds it: `message` is `problem.message`. |
| <a id="url"></a>[`url`](HoloAssetError.url.md) | property | The asset that failed, without query string or fragment. |
| <a id="problem"></a>[`problem`](HoloAssetError.problem.md) | property | The same failure as data ('asset-failed'), safe to log or send. |

## Declaration

```ts
export declare class HoloAssetError extends Error {
  constructor(url: string, problem: Problem);
  readonly url: string;
  readonly problem: Problem;
}
```

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `HoloAssetError` names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | not recorded: no ledger row names this member or its owner |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |
