Julia JSON decode with positional error context

Julia
using JSON3

function parse_json(text; label="payload")
    isempty(strip(text)) && throw(ArgumentError("$label is empty"))
    try
        return JSON3.read(text)
    catch err
        msg = sprint(showerror, err)
        m = match(r"at byte (\d+)", msg)
        byte = m === nothing ? 1 : parse(Int, m.captures[1])
        near = first(string(text), min(40, length(string(text))))
        throw(ArgumentError("$label: invalid JSON near byte $byte, context: $near"))
    end
end

println(parse_json("[1, 2, 3]"))