Skip to content

API Host AuroraCompilationException

Liu.Yandong.Hanks edited this page Aug 21, 2026 · 3 revisions

AuroraCompilationException

Exception containing one or more script compilation diagnostics.

Namespace: AuroraScript. Kind: class.

Back to .NET Host API Reference

Overview

AuroraCompilationException is thrown when compilation fails. It aggregates every AuroraCompilationDiagnostic produced by the compiler, and surfaces the first diagnostic's file, line, and column directly on the exception so a host can log a single location without walking the list.

Tip

Catch AuroraCompilationException for compile diagnostics and AuroraRuntimeException for script stack traces.

Quick Reference

A minimal use of AuroraCompilationException.

try
{
    await engine.BuildAsync("main.as");
}
catch (AuroraCompilationException ex)
{
    foreach (var diagnostic in ex.Diagnostics)
        Console.Error.WriteLine(diagnostic);
}

Constructors

AuroraCompilationException

AuroraCompilationException(IEnumerable<AuroraCompilationDiagnostic> diagnostics)

Creates a compilation exception from a diagnostic sequence.

Parameters

Name Type Required Description
diagnostics IEnumerable<AuroraCompilationDiagnostic> Yes Diagnostics to aggregate on the exception.

Returns

A new AuroraCompilationException instance.

throw new AuroraCompilationException(diagnostics);

Properties

Diagnostics

IReadOnlyList<AuroraCompilationDiagnostic> Diagnostics

All diagnostics carried by this exception.

Parameters

None.

Returns

Returns IReadOnlyList<AuroraCompilationDiagnostic>.

foreach (var diagnostic in ex.Diagnostics)
    Console.Error.WriteLine(diagnostic.Message);

Count

int Count

Number of diagnostics carried by this exception.

Parameters

None.

Returns

Returns int.

Console.Error.WriteLine($"{ex.Count} compilation error(s)");

FirstDiagnostic

AuroraCompilationDiagnostic FirstDiagnostic

First diagnostic in the list, useful for a single-line summary.

Parameters

None.

Returns

Returns AuroraCompilationDiagnostic.

Console.Error.WriteLine(ex.FirstDiagnostic);

FileName

string FileName

Source file name reported for the exception.

Parameters

None.

Returns

Returns string.

Console.Error.WriteLine(ex.FileName);

LineNumber

int LineNumber

Line reported for the exception.

Parameters

None.

Returns

Returns int.

Console.Error.WriteLine(ex.LineNumber);

ColumnNumber

int ColumnNumber

Column reported for the exception.

Parameters

None.

Returns

Returns int.

Console.Error.WriteLine($"{ex.FileName}:{ex.LineNumber}:{ex.ColumnNumber}");

Methods

ToString

string ToString()

Formats the exception and its diagnostics as displayable text.

Parameters

None.

Returns

Returns string.

Console.Error.WriteLine(ex.ToString());

Clone this wiki locally