Rust:
כתיבה לשגיאה התקנית
איך לעשות:
Rust מספקת דרך ישירה לכתוב ל-stderr באמצעות המקרו eprintln!, בדומה לאופן שבו println! משמש ל-stdout. הנה דוגמה בסיסית:
fn main() {
eprintln!("זוהי הודעת שגיאה!");
}פלט לדוגמה (לשגיאה סטנדרטית):
זוהי הודעת שגיאה!ליותר שליטה על הודעות השגיאה, כמו כאשר אתה רוצה לעצב טקסט או לטפל בתוצאות קלט/פלט, ניתן להשתמש בפונקציה stderr מהמודול std::io. שיטה זו מספקת ידית לזרם ה-globel stderr, שניתן לכתוב אליו באמצעות שיטות כמו write_all או writeln מה- trait Write:
use std::io::{self, Write};
fn main() {
let stderr = io::stderr();
let mut handle = stderr.lock();
writeln!(handle, "הודעת שגיאה מעוצבת: {}", 404).expect("נכשל בכתיבה ל-stderr");
}פלט לדוגמה (לשגיאה סטנדרטית):
הודעת שגיאה מעוצבת: 404אם אתה פועל בסביבות או אפליקציות שבהן אתה מסתמך על ספריות לתיעוד שגיאות או לטיפול בהן, ספריות כמו log ו-env_logger פופולריות. למרות שהן משמשות יותר לצרכי תיעוד, הן ניתנות להגדרה ויכולות להפנות רמות יומן שגיאות ל-stderr. להלן דוגמה פשוטה לשימוש ב-log וב-env_logger:
ראשית, הוסף את התלותות ל-Cargo.toml שלך:
[dependencies]
log = "0.4"
env_logger = "0.9"לאחר מכן, התקן והשתמש בתיעוד באפליקציה שלך:
fn main() {
env_logger::init();
log::error!("זוהי הודעת שגיאה שנרשמה ל-stderr");
}הרצת תוכנית זו (לאחר הגדרת env_logger עם משתנה סביבה מתאים, לדוגמה, RUST_LOG=error) תוציא את הודעת השגיאה ל-stderr, בעזרת התשתית של תיעוד השגיאות.
ERROR: זוהי הודעת שגיאה שנרשמה ל-stderr