В тази програма ще се научите да конвертирате проследяване на стека в низ в Kotlin.
Пример: Преобразуване на стека на стека в низ
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) ) )
Когато стартирате програмата, изходът ще бъде нещо подобно:
java.lang.ArithmeticException: / по нула при StacktraceKt.main (stacktrace.kt: 7)
В горната програма принудихме нашата програма да хвърли, ArithmeticException
като делим 0 на 0.
В catch
блока използваме StringWriter
и, за PrintWriter
да отпечатаме всеки даден изход в низ. След това отпечатваме стека на стека, използвайки printStackTrace()
метода на изключението и го записваме в писателя.
След това просто го преобразуваме в низ с помощта на toString()
метод.
Ето еквивалентния Java код: Java програма за преобразуване на стека на стека в низ.