error handling

This commit is contained in:
2026-03-16 10:59:55 +01:00
parent 964bbe4ec0
commit 720218cf31
16 changed files with 138 additions and 58 deletions

View File

@@ -26,15 +26,9 @@ func main[argc: i64, argv: ptr] : i64
if i < url_len
path = str.substr(url, i, url_len - i)
let addr: i64 = net.resolve(host)
if addr <= 0
io.println("ERROR: domain resolution failed")
return 1
let addr: i64 = must(net.resolve?(host))
let s: i64 = net.connect(addr, 80)
if s < 0
io.println("ERROR: connection failed")
return 1
let s: i64 = must(net.connect?(addr, 80))
// TODO: add string builder to std
let req: str = "GET "

View File

@@ -15,7 +15,7 @@ func part2[l1: Array, l2: Array] : void
io.println_i64(out)
func main[] : i64
let lines: Array = io.read_file("input.txt") |> str.split("\n")
let lines: Array = must(io.read_file?("input.txt")) |> str.split("\n")
let l1: Array = []
let l2: Array = []

View File

@@ -40,7 +40,7 @@ func part2[data: Array] : void
io.println_i64(out)
func main[] : i64
let lines: Array = io.read_file("input.txt") |> str.split("\n")
let lines: Array = must(io.read_file?("input.txt")) |> str.split("\n")
let data: Array = []
for i in 0..lines->size

View File

@@ -56,7 +56,7 @@ func part2[lines: Array] : void
io.println_i64(out)
func main[] : i64
let lines: Array = io.read_file("input.txt") |> str.split("\n")
let lines: Array = must(io.read_file?("input.txt")) |> str.split("\n")
part1(lines)
part2(lines)

View File

@@ -47,7 +47,7 @@ func part2[updates: Array, rules_left: Array, rules_right: Array] : void
io.println_i64(out)
func main[] : i64
let data: Array = io.read_file("input.txt") |> str.split("\n\n")
let data: Array = must(io.read_file?("input.txt")) |> str.split("\n\n")
let rules_left: Array = []
let rules_right: Array = []

View File

@@ -61,7 +61,7 @@ func part2[equations: Array] : void
io.println_i64(out)
func main[] : i64
let lines: Array = io.read_file("input.txt") |> str.split("\n")
let lines: Array = must(io.read_file?("input.txt")) |> str.split("\n")
let equations: Array = []
for i in 0..lines->size

View File

@@ -47,7 +47,7 @@ func part2[lines: Array] : void
io.println_i64(password)
func main[] : i64
let lines: Array = io.read_file("input.txt") |> str.split("\n")
let lines: Array = must(io.read_file?("input.txt")) |> str.split("\n")
part1(lines)
part2(lines)

View File

@@ -54,7 +54,7 @@ func part2[ranges: Array] : void
io.println_i64(sum)
func main[] : i64
let ranges: Array = io.read_file("input.txt") |> str.split(",")
let ranges: Array = must(io.read_file?("input.txt")) |> str.split(",")
part1(ranges)
part2(ranges)

View File

@@ -45,7 +45,7 @@ func part2[lines: Array] : void
io.println_i64(sum)
func main[] : i64
let lines: Array = io.read_file("input.txt") |> str.split("\n")
let lines: Array = must(io.read_file?("input.txt")) |> str.split("\n")
part1(lines)
part2(lines)

View File

@@ -1,7 +1,5 @@
func main[] : i64
let s: i64 = net.listen(net.pack_addr(127, 0, 0, 1), 8000)
if s < 0
panic("failed to bind a socket")
let s: i64 = must(net.listen?(net.pack_addr(127, 0, 0, 1), 8000))
io.println("Listening on port 8000...")
let resp: str = mem.alloc(60000)

View File

@@ -1,7 +1,5 @@
func main[] : i64
let s: i64 = net.udp_listen(net.pack_addr(127, 0, 0, 1), 8000)
if !s
panic("failed to bind a socket")
let s: i64 = must(net.udp_listen?(net.pack_addr(127, 0, 0, 1), 8000))
io.println("Listening on port 8000...")
while true