Skip to content
เข้าสู่ระบบ

Error - จัดการข้อผิดพลาด

std::error มี Error trait ที่เป็นมาตรฐานสำหรับจัดการ errors!

Error trait เป็นหัวใจของระบบ error handling ใน Rust:

  • ทุก error types ควร implement
  • ให้ข้อความอธิบาย error
  • สามารถ chain errors (error A เกิดจาก error B)
  • ใช้กับ ? operator และ Result
use std::error::Error;
use std::fmt;
#[derive(Debug)]
struct MyError {
message: String,
}
impl fmt::Display for MyError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Error: {}", self.message)
}
}
impl Error for MyError {}
fn main() {
let err = MyError { message: "something went wrong".to_string() };
println!("Display: {}", err);
println!("Debug: {:?}", err);
}

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด