Dart:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีการ:
ใน Dart การเขียนไปยัง stderr เป็นเรื่องง่ายโดยใช้วัตถุ stderr
ที่มีอยู่ใน dart:io
นี่คือตัวอย่างพื้นฐาน:
import 'dart:io';
void main() {
stderr.writeln('นี่คือข้อความแสดงข้อผิดพลาด.');
}
ผลลัพธ์เมื่อรัน:
นี่คือข้อความแสดงข้อผิดพลาด.
ข้อความนี้ถูกส่งไปยังสตรีม stderr ซึ่งปกติจะแสดงอยู่ในคอนโซลหรือเทอร์มินัล
เพื่อแสดงความซับซ้อนมากขึ้น เช่นการบันทึกข้อยกเว้น ชุดคุณสมบัติอันหลากหลายของ Dart ช่วยให้การจัดการข้อผิดพลาดมีประสิทธิภาพและกระชับ:
import 'dart:io';
void riskyOperation() {
try {
// จำลองการดำเนินการที่อาจทำให้เกิดข้อยกเว้น
throw Exception('มีบางอย่างผิดพลาด!');
} catch (e) {
stderr.writeln('ข้อผิดพลาด: $e');
}
}
void main() {
riskyOperation();
}
ผลลัพธ์เมื่อรัน:
ข้อผิดพลาด: Exception: มีบางอย่างผิดพลาด!
รูปแบบนี้มีความเป็นประโยชน์โดยเฉพาะสำหรับแอปพลิเคชันที่ต้องการแยกบันทึกปกติออกจากบันทึกข้อผิดพลาด ทำให้ง่ายต่อการตรวจสอบและทำการตรวจแก้ไขแอปพลิเคชัน
แม้ว่าไลบรารีมาตรฐานของ Dart จะครอบคลุมอย่างกว้างขวาง แต่โปรแกรมหลายโปรแกรมไม่จำเป็นต้องใช้ไลบรารีของบุคคลที่สามสำหรับการเขียนไปยัง stderr อย่างไรก็ตาม หากแอปพลิเคชันของคุณต้องการความสามารถในการบันทึกข้อมูลที่ซับซ้อนมากขึ้น (เช่น, ไปยังไฟล์, ผ่านเครือข่าย, การจัดรูปแบบ) แพ็คเกจ logging
เป็นทางเลือกที่ได้รับความนิยม นี่คือการดูอย่างรวดเร็วในการใช้ logging
สำหรับข้อผิดพลาด:
import 'dart:io';
import 'package:logging/logging.dart';
final logger = Logger('MyAppLogger');
void setupLogging() {
logger.onRecord.listen((record) {
if (record.level >= Level.SEVERE) {
stderr.writeln('${record.level.name}: ${record.time}: ${record.message}');
}
});
}
void main() {
setupLogging();
logger.severe('ข้อผิดพลาดร้ายแรง: เกิดสิ่งไม่ดีอย่างมากขึ้น.');
}
ผลลัพธ์เมื่อรัน:
SEVERE: 2023-04-01 00:00:00.000: ข้อผิดพลาดร้ายแรง: เกิดสิ่งไม่ดีอย่างมากขึ้น.
วิธีนี้ให้ระดับการปรับแต่งและควบคุมที่สูงขึ้นเกี่ยวกับสิ่งที่ได้รับการบันทึกเป็นข้อผิดพลาดและวิธีการจัดรูปแบบ ซึ่งอาจเป็นประโยชน์มากในแอปพลิเคชันที่ใหญ่และซับซ้อนยิ่งขึ้น