Throwable.PrintStackTrace Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| PrintStackTrace(PrintStream) |
Imprime cette valeur levée et son backtrace dans le flux d’impression spécifié. |
| PrintStackTrace(PrintWriter) |
Imprime cette valeur levée et son backtrace à l’enregistreur d’impression spécifié. |
| PrintStackTrace() |
Imprime cette valeur levée et son backtrace dans le flux d’erreur standard. |
PrintStackTrace(PrintStream)
Imprime cette valeur levée et son backtrace dans le flux d’impression spécifié.
[Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintStream;)V", "GetPrintStackTrace_Ljava_io_PrintStream_Handler")]
public virtual void PrintStackTrace(Java.IO.PrintStream s);
[<Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintStream;)V", "GetPrintStackTrace_Ljava_io_PrintStream_Handler")>]
abstract member PrintStackTrace : Java.IO.PrintStream -> unit
override this.PrintStackTrace : Java.IO.PrintStream -> unit
Paramètres
PrintStream à utiliser pour la sortie
- Attributs
Remarques
Imprime cette valeur levée et son backtrace dans le flux d’impression spécifié.
Java documentation pour java.lang.Throwable.printStackTrace(java.io.PrintStream).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
PrintStackTrace(PrintWriter)
Imprime cette valeur levée et son backtrace à l’enregistreur d’impression spécifié.
[Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintWriter;)V", "GetPrintStackTrace_Ljava_io_PrintWriter_Handler")]
public virtual void PrintStackTrace(Java.IO.PrintWriter s);
[<Android.Runtime.Register("printStackTrace", "(Ljava/io/PrintWriter;)V", "GetPrintStackTrace_Ljava_io_PrintWriter_Handler")>]
abstract member PrintStackTrace : Java.IO.PrintWriter -> unit
override this.PrintStackTrace : Java.IO.PrintWriter -> unit
Paramètres
PrintWriter à utiliser pour la sortie
- Attributs
Remarques
Imprime cette valeur levée et son backtrace à l’enregistreur d’impression spécifié.
Ajouté dans la version 1.1.
Java documentation pour java.lang.Throwable.printStackTrace(java.io.PrintWriter).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
PrintStackTrace()
Imprime cette valeur levée et son backtrace dans le flux d’erreur standard.
[Android.Runtime.Register("printStackTrace", "()V", "GetPrintStackTraceHandler")]
public virtual void PrintStackTrace();
[<Android.Runtime.Register("printStackTrace", "()V", "GetPrintStackTraceHandler")>]
abstract member PrintStackTrace : unit -> unit
override this.PrintStackTrace : unit -> unit
- Attributs
Remarques
Imprime cette valeur levée et son backtrace dans le flux d’erreur standard. Cette méthode imprime une trace de pile pour cet Throwable objet sur le flux de sortie d’erreur qui est la valeur du champ System.err. La première ligne de sortie contient le résultat de la #toString() méthode pour cet objet. Les lignes restantes représentent les données précédemment enregistrées par la méthode #fillInStackTrace(). Le format de ces informations dépend de l’implémentation, mais l’exemple suivant peut être considéré comme classique : <blockquote>
java.lang.NullPointerException
at MyClass.mash(MyClass.java:9)
at MyClass.crunch(MyClass.java:6)
at MyClass.main(MyClass.java:3)
</blockquote> Cet exemple a été produit en exécutant le programme :
class MyClass {
public static void main(String[] args) {
crunch(null);
}
static void crunch(int[] a) {
mash(a);
}
static void mash(int[] b) {
System.out.println(b[0]);
}
}
Le backtrace d’une cause initialisée et non Null doit généralement inclure le backtrace pour la cause. Le format de ces informations dépend de l’implémentation, mais l’exemple suivant peut être considéré comme classique :
HighLevelException: MidLevelException: LowLevelException
at Junk.a(Junk.java:13)
at Junk.main(Junk.java:4)
Caused by: MidLevelException: LowLevelException
at Junk.c(Junk.java:23)
at Junk.b(Junk.java:17)
at Junk.a(Junk.java:11)
... 1 more
Caused by: LowLevelException
at Junk.e(Junk.java:30)
at Junk.d(Junk.java:27)
at Junk.c(Junk.java:21)
... 3 more
Notez la présence de lignes contenant les caractères "...". Ces lignes indiquent que le reste de la trace de pile pour cette exception correspond au nombre indiqué d’images du bas de la trace de pile de l’exception provoquée par cette exception (exception « englobante »). Ce raccourci peut réduire considérablement la longueur de la sortie dans le cas courant où une exception encapsulée est levée à partir de la même méthode que l'« exception causative » est interceptée. L’exemple ci-dessus a été produit en exécutant le programme :
public class Junk {
public static void main(String args[]) {
try {
a();
} catch(HighLevelException e) {
e.printStackTrace();
}
}
static void a() throws HighLevelException {
try {
b();
} catch(MidLevelException e) {
throw new HighLevelException(e);
}
}
static void b() throws MidLevelException {
c();
}
static void c() throws MidLevelException {
try {
d();
} catch(LowLevelException e) {
throw new MidLevelException(e);
}
}
static void d() throws LowLevelException {
e();
}
static void e() throws LowLevelException {
throw new LowLevelException();
}
}
class HighLevelException extends Exception {
HighLevelException(Throwable cause) { super(cause); }
}
class MidLevelException extends Exception {
MidLevelException(Throwable cause) { super(cause); }
}
class LowLevelException extends Exception {
}
À compter de la version 7, la plateforme prend en charge la notion d’exceptions supprimées (conjointement avec l’instruction try-with-resources). Toutes les exceptions qui ont été supprimées pour remettre une exception sont imprimées sous la trace de la pile. Le format de ces informations dépend de l’implémentation, mais l’exemple suivant peut être considéré comme classique :
Exception in thread "main" java.lang.Exception: Something happened
at Foo.bar(Foo.java:10)
at Foo.main(Foo.java:5)
Suppressed: Resource$CloseFailException: Resource ID = 0
at Resource.close(Resource.java:26)
at Foo.bar(Foo.java:9)
... 1 more
Notez que le " ... n more" notation est utilisée sur les exceptions supprimées, tout comme elle est utilisée sur les causes. Contrairement aux causes, les exceptions supprimées sont mises en retrait au-delà de leurs « exceptions contenantes ».
Une exception peut avoir une cause et une ou plusieurs exceptions supprimées :
Exception in thread "main" java.lang.Exception: Main block
at Foo3.main(Foo3.java:7)
Suppressed: Resource$CloseFailException: Resource ID = 2
at Resource.close(Resource.java:26)
at Foo3.main(Foo3.java:5)
Suppressed: Resource$CloseFailException: Resource ID = 1
at Resource.close(Resource.java:26)
at Foo3.main(Foo3.java:5)
Caused by: java.lang.Exception: I did it
at Foo3.main(Foo3.java:8)
De même, une exception supprimée peut avoir une cause :
Exception in thread "main" java.lang.Exception: Main block
at Foo4.main(Foo4.java:6)
Suppressed: Resource2$CloseFailException: Resource ID = 1
at Resource2.close(Resource2.java:20)
at Foo4.main(Foo4.java:5)
Caused by: java.lang.Exception: Rats, you caught me
at Resource2$CloseFailException.<init>(Resource2.java:45)
... 2 more
Java documentation pour java.lang.Throwable.printStackTrace().
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.