Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

try_[метод]: методы, которые могут завершиться ошибкой, с конкретными ошибками

Префикс для методов, которые могут завершиться ошибкой и вернуть Result.

// Copyright 2025 Google LLC
// SPDX-License-Identifier: Apache-2.0

impl TryFrom<i32> for u32 {
    type Error = TryFromIntError;

    fn try_from(value: i32) -> Result<i64, TryFromIntError>;
}

impl<T> Receiver<T> {
    fn try_recv(&self) -> Result<T, TryRecvError>;
}
  • Префикс для методов, которые могут завершиться неудачей, возвращая Result.

  • TryFrom — трейт, похожий на From, для типов, у которых конструкторы из одного значения могут каким-то образом завершиться неудачей.

  • Вопрос: почему Vec::get и другие похожие методы не называются try_get?

    Методы называются get, если возвращают ссылку на существующее значение, и возвращают Option, а не Result, потому что есть только один вид сбоя. Например, для Vec::get это только «индекс вне границ», а для HashMap::get — «ключа не существует».