Spec-Zone.ru › Tokio

Функция stderr

pub fn stderr() -> Stderr
Доступно только при включённой функции crate io-std.

Создаёт новый дескриптор стандартного потока ошибок текущего процесса.

Возвращённый дескриптор позволяет записывать данные в стандартный поток ошибок из среды выполнения Tokio.

При одновременной записи в stderr следует соблюдать осторожность: целостность гарантируется только для отдельных записей в этот AsyncWrite. В частности, следует учитывать, что записи с помощью write_all не гарантированно выполняются как одна запись, поэтому запись данных несколькими потоками с помощью write_all может привести к перемешиванию вывода.

Обратите внимание: в отличие от std::io::stderr, каждый вызов этого stderr() создаёт новый объект для записи, поэтому, например, эта программа не сбрасывает буфер 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(())
}

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/io/fn.stderr.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API