如何将println()
的输出发送到System.err
。我想使用字符串模板。
val i = 3
println("my number is $i")
println()
将消息发送到stdout,看起来没有选项可以发送到stderr。
答案 0 :(得分:6)
你可以像在Java中那样做:
System.err.println("hello stderr")
标准的stdout输出只是通过Kotlin中的一些辅助方法得到特殊的较短版本,因为它是最常用的输出。您也可以使用完整的System.out.println
表单。
答案 1 :(得分:5)
为什么不创建全局函数
fun printErr(errorMsg:String){
System.err.println(errorMsg)
}
然后从任何软件中调用它
printErr("custom error with ${your.custom.error}")
答案 2 :(得分:3)
不幸的是,科特林没有提供写stderr
的普遍方式。
如果您使用Kotlin定位 JVM ,则可以使用与Java中相同的API。
System.err.println("Hello standard error!")
对于 Kotlin Native ,您可以使用打开stderr的功能,并使用platform.posix
软件包手动对其进行写入。
val STDERR = platform.posix.fdopen(2, "w")
fun printErr(message: String) {
fprintf(STDERR, message + "\n")
fflush(STDERR)
}
printErr("Hello standard error!")
答案 3 :(得分:1)
如果您想在Kotlin中像Java一样打印错误,请检查以下代码:
System.err.println("Printing Error")
它将以红色打印。
但是,如果你只使用println()
,那么它将起作用:
System.out.println("Printing Hello")