Comment

Comment by AndyKelley

In Zig, error codes are fundamentally a control flow construct, not a reporting mechanism.

The pattern here is to return something like error.Diagnostics for all errors that have been reported via diagnostics.

The only reason you'd have a different error code would be if the control flow should be different. For example error.OutOfMemory makes sense to be separate because it's a retryable error, which means it should be handled by different control flow.

parent AndyKelley 8 months ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton