English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Es gibt mehrere Frameworks für die Protokollierung von Daten in Dateien. Sie können auch Ihre eigenen Methoden definieren. In jedem Fall können Sie die aktuelle Zeit hinzufügen, um sie zu den protokollierten Ausnahmen hinzuzufügen, indem SieLocalDateTimeKlasse.
Es ist eine unveränderliche Klasse, die Datum und Uhrzeit speichert alsyear-month-day-hour-minute-second.now()
Diese Methode dieser Klasse gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.
Verwenden Sie diese Methode, um das aktuelle Datum und die aktuelle Uhrzeit zu Ihrem Fehlermeldung hinzuzufügen und in die erforderliche Datei zu schreiben.
import java.io.FileOutputStream; import java.io.IOException; import java.time.LocalDateTime; import java.util.Arrays; import java.util.Scanner; public class LoggingToFile { private static void writeLogToFile(Exception e) throws IOException { FileOutputStream writer = new FileOutputStream("ExceptionLog.txt"); byte bytes[] = (LocalDateTime.now();+": "+e.toString()).getBytes(); writer.write(bytes); System.out.println("Exception logged to your file"); } public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int[] arr = {10, 20, 30, 2, 0, 8}; System.out.println("Array: \+Arrays.toString(arr)); System.out.println("Wählen Sie den Nenner und den Zähler (nicht 0) aus diesem Array aus (geben Sie Positionen 0 bis 5)"); int a = sc.nextInt(); int b = sc.nextInt(); try { int result = (arr[a])/(arr[b]); System.out.println("Ergebnis von "+arr[a]+"/"+arr[b]+": "+result); catch(ArrayIndexOutOfBoundsException ex) { System.out.println("Warnung: Sie haben eine Position gewählt, die nicht im Array liegt"); writeLogToFile(ex); catch(ArithmeticException ex) { System.out.println("Warnung: Sie können eine Zahl nicht durch 0 teilen"); writeLogToFile(ex); } } }
Ausgaberesultat
Geben Sie ein 3 ganzzahlige Werte nacheinander: Array: [10, 20, 30, 2, 0, 8] Wählen Sie den Nenner und den Zähler (nicht 0) aus diesem Array aus (geben Sie Positionen 0 bis 5) 1 4 Warnung: Sie können eine Zahl nicht durch 0 teilen Exception protokolliert in Ihre Datei