is Exception
当 Proc::Async
对象仅对外部程序打开以进行读取(未将 :w
传递给 open),并且执行了诸如 write
、print
和 say
的写入操作时,将抛出类型为 X::Proc::Async::OpenForWriting
的异常
my = Proc::Async.new("echo");.start;.say(42);CATCH ;# OUTPUT: «X::Proc::Async::OpenForWriting: Process must be opened for writing with :w to call 'say'»
要修复此问题,可以使用带有 :w 标志的可写命令
my = Proc::Async.new(:w, 'cat');.stdout.tap( ->);my = .start;await .say('foo');.close-stdin;await ;
方法§
方法 method§
method method(X::Proc::Async::OpenForWriting:)
返回导致异常的被调用的方法名称。