system.err.println
时间: 2023-04-29 11:04:56 浏览: 138
System.err.println 是 Java 中的一个方法,它可以将消息输出到标准错误流 (stderr)。这与 System.out.println 的用法相似,只是前者输出到错误流,后者输出到标准输出流 (stdout)。
相关问题
Java中System.out.println和System.err.println有什么区别
在Java中,System.out.println和System.err.println都是用于向控制台输出信息的方法,但是它们有以下区别:
1. 输出流的不同:System.out.println使用的是标准输出流(System.out),而System.err.println使用的是标准错误输出流(System.err)。
2. 输出内容的不同:System.out.println一般用于输出普通的程序运行结果等信息,而System.err.println则一般用于输出错误信息或异常堆栈信息等。
3. 输出颜色的不同:在某些操作系统中,System.err.println输出的文本颜色可能与System.out.println不同,通常System.err.println输出的文本颜色会更醒目一些。
总的来说,System.out.println和System.err.println的作用类似,但是它们输出的信息有所不同,因此在实际开发中需要根据需要选择适当的输出方法。
import java.io.*; public class TryTest{ public TryTest(){ try{ int a[] = new int[2]; a[4] = 3; System.out.println("After handling exception return here?"); } catch(IndexOutOfBoundsException e){ System.err.println("exception msg:" + e.getMessage()); System.err.println("exception string:" + e.toString()); e.printStackTrace(); } finally{ System.out.println("-------------------"); System.out.println("finally"); } System.out.println("No exception?"); } public static void main(String args[]){ new TryTest(); } } 指出程序中的语句System.out.println("After handling exception return here?"); 有没有被执行?
在该程序中,由于在 try 块中存在数组越界异常,控制流会跳到 catch 块中进行异常处理。在 catch 块中,会打印出异常信息和堆栈跟踪信息。然后,无论是否出现异常,`finally` 块中的语句都会被执行,打印出 "finally" 字符串。
因此,虽然代码中存在语句 `System.out.println("After handling exception return here?");`,但是由于该语句在 try 块中,而且出现了异常导致控制流跳到 catch 块中,该语句并没有被执行。最后,在 `finally` 块中打印出了 "finally" 字符串。
阅读全文