Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Rust Error Handling

20. 08. 2022 Aktualizováno: 24. 03. 2026 1 min čtení intermediate
Tento článek byl publikován v roce 2022. Některé informace mohou být zastaralé.

Rust nemá exceptions. Místo toho Result a Option — explicitní, type-safe error handling.

Result a Option

use std::fs; fn read_config(path: &str) -> Result { fs::read_to_string(path) } fn find_user(id: u32) -> Option { users.iter().find(|u| u.id == id).cloned() } // ? operátor — propagace chyby fn process() -> Result<(), Box> { let config = fs::read_to_string(“config.toml”)?; let data: Config = toml::from_str(&config)?; Ok(()) }

Custom error types

use thiserror::Error;

[derive(Error, Debug)]

enum AppError {

[error(“User not found: {0}”)]

UserNotFound(u32),

[error(“Database error”)]

Database(#[from] sqlx::Error),

[error(“Invalid input: {0}”)]

Validation(String), }

Klíčový takeaway

Result pro chyby, Option pro nullable. ? operátor pro propagaci. thiserror pro custom error types.

rusterror handlingprogramming
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.