V tomto programu se naučíte převádět trasování zásobníku na řetězec v Kotlin.
Příklad: Převést trasování zásobníku na řetězec
import java.io.PrintWriter import java.io.StringWriter fun main(args: Array) ( try ( val division = 0 / 0 ) catch (e: ArithmeticException) ( val sw = StringWriter() e.printStackTrace(PrintWriter(sw)) val exceptionAsString = sw.toString() println(exceptionAsString) ) )
Když spustíte program, výstup bude něco podobného:
java.lang.ArithmeticException: / nulou na StacktraceKt.main (stacktrace.kt: 7)
Ve výše uvedeném programu jsme náš program přinutili házet ArithmeticException
vydělením 0 číslem 0.
V catch
bloku použijeme StringWriter
a PrintWriter
pro tisk jakéhokoli daného výstupu na řetězec. Potom vytiskneme trasování zásobníku pomocí printStackTrace()
metody výjimky a zapíšeme ji do zapisovače.
Potom ji jednoduše převede na řetězec pomocí toString()
metody.
Zde je ekvivalentní kód Java: Program Java pro převod trasování zásobníku na řetězec.