การเขียนไปยังข้อผิดพลาดมาตรฐาน

C++:
การเขียนไปยังข้อผิดพลาดมาตรฐาน

วิธีการ:

ใน C++ การเขียนไปยังแสดงข้อผิดพลาดมาตรฐานสามารถทำได้โดยใช้สตรีม cerr ซึ่งเป็นส่วนหนึ่งของไลบรารีมาตรฐาน ต่อไปนี้เป็นตัวอย่างพื้นฐาน:

#include <iostream>

int main() {
    // เขียนไปยังการแสดงผลมาตรฐาน
    std::cout << "นี่คือข้อความปกติ" << std::endl;
    
    // เขียนไปยังแสดงข้อผิดพลาดมาตรฐาน
    std::cerr << "นี่คือข้อความแสดงข้อผิดพลาด" << std::endl;
    
    return 0;
}

ผลลัพธ์ตัวอย่าง:

นี่คือข้อความปกติ
นี่คือข้อความแสดงข้อผิดพลาด

ในกรณีนี้ ทั้งสองข้อความจะปรากฏขึ้นบนเทอร์มินัลของคุณโดยปกติ แต่คุณสามารถเปลี่ยนเส้นทางพวกเขาได้โดยแยกกันในเชลล์ เช่น คุณสามารถส่งผลลัพธ์มาตรฐานไปยังไฟล์ในขณะที่อนุญาตให้ข้อผิดพลาดแสดงบนหน้าจอ

สำหรับการบันทึกข้อความและการจัดการข้อผิดพลาดที่ซับซ้อนยิ่งขึ้น สามารถใช้ไลบรารีของบุคคลที่สามเช่น spdlog หรือ boost.log ได้ ไลบรารีเหล่านี้เสนอคุณสมบัติขั้นสูงสำหรับการบันทึกข้อความ รวมถึงการจัดรูปแบบ, ระดับของบันทึกข้อความ, และผลลัพธ์ของไฟล์

นี่คือวิธีที่คุณอาจใช้ spdlog เพื่อเขียนข้อความแสดงข้อผิดพลาด:

#include "spdlog/spdlog.h"

int main() {
    // เริ่มต้นใช้งาน spdlog
    spdlog::info("นี่คือข้อความปกติ");
    spdlog::error("นี่คือข้อความแสดงข้อผิดพลาด");
    
    return 0;
}

หมายเหตุ: เพื่อใช้ spdlog, คุณต้องเพิ่มมันเข้าไปในโปรเจกต์ของคุณ คุณทำได้โดยการคลอนที่เก็บข้อมูลจาก GitHub หรือใช้ตัวจัดการแพคเกจเช่น vcpkg หรือ conan

จำไว้ว่า การตัดสินใจระหว่างการใช้สตรีมมาตรฐานโดยตรงหรือไลบรารีเช่น spdlog ขึ้นอยู่กับความซับซ้อนของโปรแกรมแอพพลิเคชันของคุณและความต้องการเฉพาะของคุณเกี่ยวกับการจัดการข้อผิดพลาดและการล็อกข้อความ