0% found this document useful (0 votes)
97 views23 pages

CS8392 - Oop - Unit - 3 - PPT - 3.2

The document describes the StackTraceElement class in Java. It discusses that StackTraceElement represents a single stack frame in a stack trace returned by Throwable.getStackTrace(). It contains methods like getClassName(), getFileName(), getLineNumber(), getMethodName() that return details of the stack frame like class name, file name, line number, method name respectively. The document lists 8 methods of StackTraceElement class and provides a brief description of each method.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views23 pages

CS8392 - Oop - Unit - 3 - PPT - 3.2

The document describes the StackTraceElement class in Java. It discusses that StackTraceElement represents a single stack frame in a stack trace returned by Throwable.getStackTrace(). It contains methods like getClassName(), getFileName(), getLineNumber(), getMethodName() that return details of the stack frame like class name, file name, line number, method name respectively. The document lists 8 methods of StackTraceElement class and provides a brief description of each method.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

CS 8392

OBJECT
ORIENTED
PROGRAMMING

VASANTHA KUMAR V, AP/CSE


StackTraceElement class in Java
• An element in a stack trace, as returned by
Throwable.getStackTrace().
• Each element represents a single stack frame.
• All stack frames except for the one at the top of the stack
represent a method invocation.
• The frame at the top of the stack represents the execution
point at which the stack trace was generated.
• Throws: NullPointerException – if declaring Class or
methodName is null.
StackTraceElement class in Java
• This class describes single stack frame, which is an individual
element of a stack trace when an exception occur.
• All stack frames except for the one at the top of the stack
represent a method invocation.
• The frame at the top of the stack represent the execution point
of which the stack trace was generated.
• Each stack frame represents an execution point, which includes
such things as the name of the method, the name of file and
the source code line number.
• An array of StackTraceElement is returned by getStackTrace()
method of the Throwable class.
StackTraceElement class in Java
Parameters:
• declaringClass – the fully qualified name of the class containing
the execution point represented by the stack trace element.
• methodName – the name of the method containing the
execution point represented by the stack trace element.
• fileName – the name of the file containing the execution point
represented by the stack trace element, or null if this information
is unavailable
• lineNumber – the line number of the source line containing the
execution point represented by this stack trace element, or a
negative number if this information is unavailable. A value of -2
indicates that the method containing the execution point is a
native method.
Constructor
Creates a stack trace element representing the specified execution
point.

Syntax:
StackTraceElement(String declaringClass,
String methodName, String fileName, int lineNumber)
Method – 1. boolean equals(ob)
boolean equals(ob): Returns try if the invoking
StackTraceElement is as the one passed in ob. Otherwise it
returns false.
Syntax: public boolean equals(ob)
Returns: true if the specified object is another
StackTraceElement instance representing the same
execution point as this instance.
Exception: NA
Method –1. boolean equals(ob)
public class StackTraceElementDemo
{
public static void main(String[] arg)
{
StackTraceElement st1 = new StackTraceElement("foo", "fuction1", "StackTrace.java",
1);
StackTraceElement st2 = new StackTraceElement("bar",
"function2", "StackTrace.java", 1);

Object ob = st1.getFileName();

// checking whether file names are same or not


System.out.println(st2.getFileName().equals(ob));
}}
Method – 2 . String getClassName()
String getClassName(): Returns the class name of the execution
point described by the invoking StackTraceElement.
Syntax: public String getClassName().
Returns: the fully qualified name of the Class
containing the execution point represented by this stack
trace element.
Exception: NA.
Method – 2 . String getClassName()
// Java code illustrating getClassName() method.

public class StackTraceElementDemo


{
public static void main(String[] arg)
{
System.out.println("Class name of each thread involved:");
for(int i = 0; i<2; i++)
{
System.out.println(Thread.currentThread().getStackTrace()[i].
getClassName());
}
}
}
Method – 3 . String getFileName()
String getFileName(): Returns the file name of the execution
point described by the invoking StackTraceElement.
Syntax: public String getFileName().
Returns: the name of the file containing
the execution point represented by this stack trace
element,or null if this information is unavailable.
Exception: NA.
Method – 3 . String getFileName()

public class StackTraceElementDemo


{
public static void main(String[] arg)
{
System.out.println("file name: ");
for(int i = 0; i<2; i++)
System.out.println(Thread.currentThread().getStackTrace()[i].
getFileName());
}
}
Method – 4 . int getLineNumber()
int getLineNumber():Returns the source-code line number of
the execution point described by the invoking StackTraceElement.
In some situation the line number will not be available, in which case
a negative value is returned.

Syntax: public int getLineNumber().


Returns: the line number of the source line
containing the execution point represented by this stack
trace element, or a negative number if this information
is unavailable.
Exception: NA.
Method – 4 . int getLineNumber()

public class StackTraceElementDemo


{
public static void main(String[] arg)
{
System.out.println("line number: ");
for(int i = 0; i<2; i++)
System.out.println(Thread.currentThread().getStackTrace()[i].
getLineNumber());
}
}
Method – 5 . String getMethodName()
String getMethodName(): Returns the method name of the
execution point described by the invoking StackTraceElement.

Syntax: public String getMethodName().


Returns: the name of the method containing the
execution point represented by this stack trace element.
Exception: NA.
Method – 5 . String getMethodName()

public class StackTraceElementDemo


{
public static void main(String[] arg)
{
System.out.println("method name: ");
for(int i = 0; i<2; i++)
System.out.println(Thread.currentThread().getStackTrace()[i].
getMethodName());
}
}
Method – 6 . int hashCode()
String getMethodName(): Returns the method name of the
execution point described by the invoking StackTraceElement.

Syntax: public String getMethodName().


Returns: the name of the method containing the
execution point represented by this stack trace element.
Exception: NA.
Method – 6 . int hashCode()

public class StackTraceElementDemo


{
public static void main(String[] arg)
{
System.out.println("hash code: ");
for(int i = 0; i<2; i++)
System.out.println(Thread.currentThread().getStackTrace()[i].
hashCode());
}
}
Method – 7 . boolean isNativeMethod()
Boolean isNativeMethod(): Returns true if the
invoking StackTraceElement describes a native method.
Otherwise returns false.
Syntax: public boolean isNativeMethod().
Returns: true if the method containing the execution
point represented by this stack trace element is a
native method.
Exception: NA.
Method – 7 . boolean isNativeMethod()

public class StackTraceElementDemo


{
public static void main(String[] arg)
{

for(int i = 0; i<2; i++)


System.out.println(Thread.currentThread().getStackTrace()[i].
isNativeMethod());
}
}
Method – 8 . String toString()
String toString(): Returns the String equivalent of the invoking
sequence
Syntax: public String toString().
Returns: a string representation of the object.
Exception: NA.
Method – 8 . String toString()

public class StackTraceElementDemo


{
public static void main(String[] arg)
{
System.out.println("String equivlaent: ");
for(int i = 0; i<2; i++)
System.out.println(Thread.currentThread().getStackTrace()[i].
toString());
}
}
Sr.No Method & Description
1 boolean equals(Object obj)This method returns true if the specified object is another
StackTraceElement instance representing the same execution point as this instance.

2 String getClassName()This method returns the fully qualified name of the class
containing the execution point represented by this stack trace element.
3 String getFileName()This method returns the name of the source file containing the
execution point represented by this stack trace element.

4 int getLineNumber()This method returns the line number of the source line containing
the execution point represented by this stack trace element.

5 String getMethodName()This method returns the name of the method containing the
execution point represented by this stack trace element.

6 int hashCode()This method returns a hash code value for this stack trace element.
7 boolean isNativeMethod()This method returns true if the method containing the
execution point represented by this stack trace element is a native method.

8 String toString()This method returns a string representation of this stack trace


element.
THANKYOU

You might also like