在此程序中,您將學(xué)習(xí)在Kotlin中將堆棧跟蹤轉(zhuǎn)換為字符串。
import java.io.PrintWriter import java.io.StringWriter fun main(args: Array<String>) { try { val division = 0 / 0 } catch (e: ArithmeticException) { val sw = StringWriter() e.printStackTrace(PrintWriter(sw)) val exceptionAsString = sw.toString() println(exceptionAsString) } }
當(dāng)您運(yùn)行該程序時(shí),輸出將類似于以下內(nèi)容:
java.lang.ArithmeticException: / by zero at StacktraceKt.main(stacktrace.kt:7)
在上面的程序中,我們通過將0除以0來強(qiáng)制程序拋出ArithmeticException。
在catch塊中,我們使用StringWriter和PrintWriter將任何給定的輸出打印到字符串中。然后,我們使用異常的方法 printStackTrace() 打印堆棧跟蹤,并將其寫入writer。
然后,我們只需使用toString()方法將其轉(zhuǎn)換為字符串。
這是等效的Java代碼:將堆棧跟蹤轉(zhuǎn)換為字符串的Java程序。