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

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

วิธีการ:

การแสดงผลข้อผิดพลาดมาตรฐานใน Java

Java มีวิธีอันตรงไปตรงมาในการเขียนไปยัง stderr โดยใช้ System.err.print() หรือ System.err.println() นี่คือวิธีทำ:

public class StdErrExample {
    public static void main(String[] args) {
        try {
            int division = 10 / 0;
        } catch (ArithmeticException e) {
            System.err.println("Error: Cannot divide by zero.");
        }
    }
}

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

Error: Cannot divide by zero.

นี่จะพิมพ์ข้อความข้อผิดพลาดไปยังกระแสข้อผิดพลาดมาตรฐานโดยตรง

การใช้ Logger สำหรับการจัดการข้อผิดพลาดขั้นสูง

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

ตัวอย่างกับ Logback

ก่อนอื่น เพิ่ม dependency ของ Logback ในไฟล์ pom.xml (Maven) หรือ build.gradle (Gradle) ของคุณ สำหรับ Maven:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>

จากนั้น คุณสามารถใช้โค้ดต่อไปนี้เพื่อบันทึกข้อผิดพลาด:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LoggerExample {
    private static final Logger logger = LoggerFactory.getLogger(LoggerExample.class);
    
    public static void main(String[] args) {
        try {
            int result = 10 / 0;
        } catch (ArithmeticException e) {
            logger.error("Error: Cannot divide by zero.", e);
        }
    }
}

นี่จะแสดงข้อความข้อผิดพลาดพร้อมกับสแต็กเทรซไปยังคอนโซลหรือไฟล์ ขึ้นอยู่กับการตั้งค่าของ Logback

การใช้กรอบการทำงานการบันทึกเช่น Logback ให้การควบคุมข้อผิดพลาดมากขึ้น ทำให้ง่ายต่อการจัดการแอปพลิเคชันและระบบขนาดใหญ่