Этот способ подходит разве что для лабораторных работ, но не для реальных приложений:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class SystemErrMainClass { public static void main(String[] args) { System.out.println("My application started"); try { Files.readAllBytes(Paths.get("/file/does/not/exist")); } catch (IOException ioex) { System.err.println("Failed to read file."); ioex.printStackTrace(); } } } |
Как видите, мы просто используем System.out и System.err для логирования. Эта статья здесь просто так, для примера. Не нужно исползовать такой подход в реальных приложениях.
Если вы запустите код выше, то результат будет таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
My application started Failed to read file. java.nio.file.NoSuchFileException: \file\does\not\exist at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235) at java.base/java.nio.file.Files.newByteChannel(Files.java:373) at java.base/java.nio.file.Files.newByteChannel(Files.java:424) at java.base/java.nio.file.Files.readAllBytes(Files.java:3280) at SystemErrMainClass.main(SystemErrMainClass.java:10) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:415) at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:192) at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:132) |