在 Proc::Async 中§
有关方法 stderr,请参阅主要文档 in context
method stderr(Proc::Async: : --> Supply)
返回外部程序的标准错误流的 Supply
。如果传递了 :bin
,则标准错误将作为 Blob
以二进制形式传递,否则将被解释为 UTF-8,解码并作为 Str
传递。
my = Proc::Async.new(:r, 'echo', 'Raku');.stderr.tap( ->);my = .start;await ;
您必须在调用 .start
之前调用 stderr
。否则,将抛出类 X::Proc::Async::TapBeforeSpawn
的异常。
如果未调用 stderr
,则根本不会捕获外部程序的标准错误流。
请注意,您不能在同一对象上同时使用和不使用 :bin
调用 stderr
;如果您尝试这样做,它将抛出类型为 X::Proc::Async::CharsOrBytes
的异常。
对于合并的 STDOUT 和 STDERR,请使用 .Supply
。