Throwable.PrintStackTrace Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| Nombre | Description |
|---|---|
| PrintStackTrace(PrintStream) |
Imprime este elemento throwable y su retroceso en la secuencia de impresión especificada. |
| PrintStackTrace(PrintWriter) |
Imprime este elemento throwable y su retroceso en el escritor de impresión especificado. |
| PrintStackTrace() |
Imprime este valor throwable y su retroceso en el flujo de error estándar. |
PrintStackTrace(PrintStream)
Imprime este elemento throwable y su retroceso en la secuencia de impresión especificada.
[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
Parámetros
PrintStream que se va a usar para la salida
- Atributos
Comentarios
Imprime este elemento throwable y su retroceso en la secuencia de impresión especificada.
Java documentación para java.lang.Throwable.printStackTrace(java.io.PrintStream).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
PrintStackTrace(PrintWriter)
Imprime este elemento throwable y su retroceso en el escritor de impresión especificado.
[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
Parámetros
PrintWriter que se va a usar para la salida
- Atributos
Comentarios
Imprime este elemento throwable y su retroceso en el escritor de impresión especificado.
Agregado en la versión 1.1.
Java documentación para java.lang.Throwable.printStackTrace(java.io.PrintWriter).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
PrintStackTrace()
Imprime este valor throwable y su retroceso en el flujo de error estándar.
[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
- Atributos
Comentarios
Imprime este valor throwable y su retroceso en el flujo de error estándar. Este método imprime un seguimiento de pila para este Throwable objeto en el flujo de salida de error que es el valor del campo System.err. La primera línea de salida contiene el resultado del #toString() método para este objeto. Las líneas restantes representan los datos registrados previamente por el método #fillInStackTrace(). El formato de esta información depende de la implementación, pero el ejemplo siguiente puede considerarse típico: <blockquote>
java.lang.NullPointerException
at MyClass.mash(MyClass.java:9)
at MyClass.crunch(MyClass.java:6)
at MyClass.main(MyClass.java:3)
</blockquote> Este ejemplo se generó ejecutando el programa:
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]);
}
}
El retroceso de una causa inicializada que no es NULL debe incluir generalmente el retroceso para la causa. El formato de esta información depende de la implementación, pero el ejemplo siguiente puede considerarse típico:
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
Observe la presencia de líneas que contienen los caracteres "...". Estas líneas indican que el resto del seguimiento de la pila de esta excepción coincide con el número indicado de fotogramas desde la parte inferior del seguimiento de pila de la excepción causada por esta excepción (la excepción "envolvente"). Esta abreviatura puede reducir considerablemente la longitud de la salida en el caso común en el que se produce una excepción ajustada desde el mismo método que la "excepción causativa" se detecta. El ejemplo anterior se generó ejecutando el programa:
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 {
}
A partir de la versión 7, la plataforma admite la noción de excepciones suprimidas (junto con la tryinstrucción -with-resources). Las excepciones que se suprimen para entregar una excepción se imprimen debajo del seguimiento de la pila. El formato de esta información depende de la implementación, pero el ejemplo siguiente puede considerarse típico:
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
Tenga en cuenta que el "... La notación n más" se usa en excepciones suprimidas tal como se usa en las causas. A diferencia de las causas, las excepciones suprimidas se aplica sangría más allá de sus "excepciones contenedoras".
Una excepción puede tener una causa y una o varias excepciones suprimidas:
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)
Del mismo modo, una excepción suprimida puede tener una causa:
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 documentación para java.lang.Throwable.printStackTrace().
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.