Java >> Java tutorial >  >> Tag >> String

Java print stak spor til streng | Sådan konverteres program eksempel

Brug af Core Java API til at udskrive staksporet til strenge giver en nem og effektiv måde at konvertere staksporing til streng ved hjælp af StringWriter and PrintWriter .

En printStackTrace()-metode bruges til at få information om undtagelse. Du behøver ikke nogen speciel metode til at konvertere en printstaksporing til en streng. I blokken try-catch-finally undtagelser gjorde vi det på en enkel måde.

Eksempel:Konverter og udskriv staksporing til en streng

Dette program vil kaste ArithmeticException ved at dividere 0 med 0.

StringWriter writer = new StringWriter();
PrintWriter printWriter= new PrintWriter(writer);
exception.printStackTrace(printWriter);

Fuldfør kode

I kode, kalder writer.toString() vil give staksporing i String-format.

I catch-blokken udskriver StringWriter og PrintWriter et givet output til en streng. Vi udskriver derefter staksporet ved hjælp af undtagelsens printStackTrace() metode og skriver det i writeren.

import java.io.PrintWriter;
import java.io.StringWriter;

public class TryCatchBlock {

    public static void main(String[] args) {

        try {
            int a[] = new int[10];
            a[11] = 30 / 0;
        } catch (Exception e) {
            StringWriter writer = new StringWriter();
            PrintWriter printWriter= new PrintWriter(writer);
            e.printStackTrace(printWriter);
            System.out.println("Exception in String is :: " + writer.toString());
        }
        System.out.println("Remain codes");
    }
}

Output:

Vi tror ikke, du behøver at konvertere en stak-sporing, fordi du kan bruge den simple printStackTrace()-metode eller udskrive direkte undtagelse som nedenstående kode:-

public class TryCatchBlock {

    public static void main(String[] args) {

        try {
            int a[] = new int[10];
            a[11] = 30 / 0;
        } catch (Exception e) {
            // 1st Way
            e.printStackTrace();
            //  2nd way
            System.out.println(e);
        }
        System.out.println("Remain codes");
    }
}

Output:

Skriv en kommentar, hvis du er i tvivl om og forslag til denne øvelse.

Bemærk: Dette eksempel (Projekt) er udviklet i IntelliJ IDEA 2018.2.6 (Community Edition)
JRE:11.0.1
JVM:OpenJDK 64-Bit Server VM af JetBrains s.r.o
macOS 10.14.1
Java version 11
Alle Java printStackTrace() metodekoder er i Java 11, så det kan ændre sig på anderledes end Java 9 eller 10 eller opgraderede versioner.


Java tag