跳到主要内容

stderr

搜索

函数 stderr 

Source
pub fn stderr() -> Stderr
展开描述

构造一个到当前进程标准错误流的新句柄。

The returned handle allows writing to standard error from the within the Tokio 运行时。

对 stderr 的并发写入必须谨慎执行: 只有此 AsyncWrite 上的单个写入才保证是完整的。 尤其是要注意,使用 write_all 进行的写入 不能保证作为单次写入发生, 因此多个线程使用 write_all 写入数据可能会导致输出交错。

请注意,与 std::io::stderr 不同, 每次调用此 stderr() 都会产生一个新的 writer,因此,例如, 此程序不会 flush stderr:

tokio::io::stderr().write_all(b"aa").await?;
tokio::io::stderr().flush().await?;

§示例

use tokio::io::{self, AsyncWriteExt};

#[tokio::main]
async fn main() -> io::Result<()> {
    let mut stderr = io::stderr();
    stderr.write_all(b"Print some error here.").await?;
    Ok(())
}