Skip to content

Error codes

Every error Volt throws carries a code. A development build prints the full sentence with it; a production build leaves the sentence out and keeps the code, what failed, and a link here:

[volt] V0212 target=#app https://voltjs.dev/e/V0212

So a report from production is one click from the explanation a development build would have printed. How an error is shaped — code, detail, docs — is under Errors.

The codes are numbered by family, a hundred to each, and a code is never reused for a second failure. The pages are generated from the framework's source when this site is built, so a message reworded in the source is reworded here.

Development only marks a check a production build does not make — an authoring mistake caught while the program is written. Those codes never appear in a production error.

Build and environment

CodeWhat it says
V0101‹entry› needs a server build.

Components

CodeWhat it says
V0201@Component on ‹name› needs a selector.Development only
V0202@Component can only be applied to a class.
V0203@Prop applies to a field, not ‹kind› (‹name›).
V0204@Prop cannot be used on a static member (‹name›).
V0205@Prop cannot be used on a symbol-named property.
V0206‹name› declares templateUrl "‹templateUrl›", which is resolved at build time.
V0207‹name› is not decorated with @Component.
V0208<‹selector›> has no prop "‹key›".Development only
V0209<‹selector›> requires the prop "‹alias›".Development only
V0210<‹tag›> is a component, so :on-‹name› does not apply.Development only
V0211Unknown component <‹tag›> used by ‹name›.
V0212Mount target not found: ‹target›

Server markup

CodeWhat it says
V0301‹what› contains "</‹tag›", which ends the element rather than appearing inside it.
V0302a server render has no elements, so :portal needs a selector string or nothing at all — an element target can only be resolved in a browser.

Hydration state

CodeWhat it says
V0401the hydration state for "‹key›" could not be serialized: ‹cause›
V0402hydration state cannot carry a ‹kind› at "‹key›".

Streaming

CodeWhat it says
V0501a boundary was written as text rather than as a child.

DOM runtime

CodeWhat it says
V0601:portal expects an element, a selector string, or nothing.

Released under the MIT License.