C:\Users\yusuf.karaca\scoop\apps\zig-dev\0.12.0-dev.297\lib\std\Thread\Pool.zig:94:13: error: error is ignored
@call(.auto, func, closure.arguments);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\yusuf.karaca\scoop\apps\zig-dev\0.12.0-dev.297\lib\std\Thread\Pool.zig:94:13: note: consider using 'try', 'catch', or 'if'
referenced by:
spawn__anon_4885.Closure: C:\Users\yusuf.karaca\scoop\apps\zig-dev\0.12.0-dev.297\lib\std\Thread\Pool.zig:89:58
runFn: C:\Users\yusuf.karaca\scoop\apps\zig-dev\0.12.0-dev.297\lib\std\Thread\Pool.zig:93:45
remaining reference traces hidden; use '-freference-trace' to see all reference traces
#error handling in spawning threads
1 messages · Page 1 of 1 (latest)
i don't have an idea how can i use error handling in spawning the function, any idea?
var func = handle_stream catch |err| blk: {
std.debug.print("some error happened while handling client :{any}\n", .{err});
break :blk;
};
_ = try pool.spawn(func, .{&stream}); // Execute stream handler
i tried something like this but it gets
videocode.zig:44:34: error: expected error union type, found 'fn(*net.Stream) @typeInfo(@typeInfo(@TypeOf(videocode.handle_stream)).Fn.return_type.?).ErrorUnion.error_set!void'
var func = handle_stream catch |err| blk: {
~~~~~~~~~~~~~~^~~~~
referenced by:
callMain: C:\Users\yusuf.karaca\scoop\apps\zig-dev\0.12.0-dev.297\lib\std\start.zig:574:32
initEventLoopAndCallMain: C:\Users\yusuf.karaca\scoop\apps\zig-dev\0.12.0-dev.297\lib\std\start.zig:508:34
remaining reference traces hidden; use '-freference-trace' to see all reference traces
soo
any idea?
fn handle_stream(stream: *net.Stream) void {
var buffer: [256]u8 = undefined;
_ = stream.read(&buffer) catch unreachable;
std.debug.print("request buffer is: {s}\n", .{buffer});
const response = "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: 11\n\nHello World";
// Write response
_ = stream.write(response) catch unreachable;
}
now it works but this time i need to guarantee no may return an error or i gotta handle every single one
instead of i wanna do something like oh boi there was some error happened while runnin your thread
did u mean to put this in #1019652020308824145 ?