class X::Proc::Async::CharsOrBytes is Exception {}

A Proc::Async object allows subscription to the output or error stream either for bytes (Blob) or for text data (Str), but not for both. If you do try both, it throws an exception of type X::Proc::Async::CharsOrBytes.

my $proc = Proc::Async.new('echo');
$proc.stdout.tap(&print);
$proc.stdout(:bin).tap(&print);
CATCH { default { put .^name, ': ', .Str } };
# OUTPUT: «X::Proc::Async::CharsOrBytes: Can only tap one of chars or bytes supply for stdout␤»

Methods§

method handle§

method handle(X::Proc::Async::CharsOrBytes:D: --> Str:D)

Returns the name of the handle that was accessed both for text and for binary data, stdout or stderr.