В этой программе вы научитесь преобразовывать трассировку стека в строку на 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 для преобразования трассировки стека в строку.