langref: add example for errdefer |err| sytnax
This commit is contained in:
committed by
Andrew Kelley
parent
aa73bb6bc9
commit
8267929742
19
doc/langref/test_errdefer_capture.zig
Normal file
19
doc/langref/test_errdefer_capture.zig
Normal file
@@ -0,0 +1,19 @@
|
||||
const std = @import("std");
|
||||
|
||||
fn captureError(captured: *?anyerror) !void {
|
||||
errdefer |err| {
|
||||
captured.* = err;
|
||||
}
|
||||
return error.GeneralFailure;
|
||||
}
|
||||
|
||||
test "errdefer capture" {
|
||||
var captured: ?anyerror = null;
|
||||
|
||||
if (captureError(&captured)) unreachable else |err| {
|
||||
try std.testing.expectEqual(error.GeneralFailure, captured.?);
|
||||
try std.testing.expectEqual(error.GeneralFailure, err);
|
||||
}
|
||||
}
|
||||
|
||||
// test
|
||||
Reference in New Issue
Block a user