T M
class X::Proc::Async::CharsOrBytes
Error ReportCollection examples

Error due to tapping the same Proc::Async stream for both text and binary reading

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.