public static func run(proc: () -> Int32) throws { let code = proc() guard code == 0 else { throw PosixError(code: code) } }
こういうユーティリティだから try! PosixError.run { posix_spawn_file_actions_destroy(&fileActions) }
try! になるlet ret = posix_spawn_file_actions_destroy(&fileActions) fatalError(ret == 0, PsoxiError(code: ret).description)
(edited)ret
がスコープ汚染しちゃって、同じような処理を他にも書く必要があるから、これは採用できない。