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 ให้การควบคุมข้อผิดพลาดมากขึ้น ทำให้ง่ายต่อการจัดการแอปพลิเคชันและระบบขนาดใหญ่