txt: ## charsorbytes.md
  class X::Proc::Async::CharsOrBytes
  
  Error due to tapping the same Proc::Async stream for both text and binary reading
  
  ```raku
  class X::Proc::Async::CharsOrBytes is Exception {}
  ```
  
  A [`Proc::Async`](/type/Proc/Async) object allows subscription to the output or error stream either for bytes ([`Blob`](/type/Blob)) or for text data ([`Str`](/type/Str)), but not for both. If you do try both, it throws an exception of type `X::Proc::Async::CharsOrBytes`.
  
  ```raku
  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](#class_X::Proc::Async::CharsOrBytes "go to top of document")[§](#Methods "direct link")
  
  ## [method handle](#class_X::Proc::Async::CharsOrBytes "go to top of document")[§](#method_handle "direct link")
  
  ```raku
  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`.
  