Skip to content

Error Handling

Handle errors gracefully and recover from invalid operations.

zig
const std = @import("std");
const sqlite = @import("sqlite");

pub fn main() !void {
    var db = try sqlite.open(std.heap.page_allocator, "valid_06.db");
    defer db.close();
    var result = try db.exec("CREATE TABLE IF NOT EXISTS error_test (id INTEGER);");
    result.deinit();
    const invalid = db.exec("SELECT FROM error_test;") catch null;
    if (invalid) |value| {
        var owned = value;
        owned.deinit();
        return error.InvalidQueryWasAccepted;
    }
}

TIP

Run with: zig build run-06-error-handling

Released under the MIT License.