- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java StackTraceElement getMethodName() 方法
描述
Java StackTraceElement getMethodName() 方法返回包含此堆疊跟蹤元素表示的執行點的 方法的名稱。
宣告
以下是 java.lang.StackTraceElement.getMethodName() 方法的宣告
public String getMethodName()
引數
無
返回值
此方法返回包含此堆疊跟蹤元素表示的執行點的 方法的名稱。
異常
無
示例:使用 StackTraceElement 獲取當前執行緒方法名稱
以下示例演示了 Java StackTraceElement getFileName() 方法的使用。在這個程式中,我們定義了一個名為 function2() 的函式,它從當前執行緒的 StackTraceElement 獲取方法名稱。另一個名為 function1() 的函式用於例項化 StackTraceElementDemo 類並呼叫 function2() 方法。在 main 方法中,我們呼叫了 function1() 方法,並列印結果。
package com.tutorialspoint;
public class StackTraceElementDemo {
public static void main(String[] args) {
function1();
}
public static void function1() {
new StackTraceElementDemo().function2();
}
public void function2() {
int i;
System.out.println("method name : ");
// print stack trace
for( i = 1; i <= 3; i++ ) {
System.out.println(Thread.currentThread().getStackTrace()[i].
getMethodName());
}
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
method name : function2 function1 main
示例:使用 ArithmeticException 的 StackTraceElement 獲取方法名稱
以下示例演示了 Java StackTraceElement getMethodName() 方法的使用。在 main 方法中,我們建立了三個 int 變數,其中一個變數的值為零。在 try-catch 塊中,我們建立了一個除以零的情況以引發 ArithmeticException。在 catch 塊中,我們處理了 ArithmeticException,使用 getStackTrace() 方法從中檢索了一個 StackTraceElement 陣列,然後在陣列的第一個元素上使用 getMethodName() 方法,列印方法名稱。
package com.tutorialspoint;
public class StackTraceElementDemo {
public static void main(String[] args) {
// variables to store int values
int a = 0, b = 1, c;
try {
// being divide by zero, this line will throw an ArithmeticException
c = b / a;
}catch(ArithmeticException e) {
// get the array of StackTraceElement
StackTraceElement[] stackTraceElements = e.getStackTrace();
// print the line number
System.out.println(stackTraceElements[0].getLineNumber());
}
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
main
示例:使用 Exception 的 StackTraceElement 獲取行號
以下示例演示了 Java StackTraceElement getMethodName() 方法的使用。在 main 方法中,我們建立了三個 int 變數,其中一個變數的值為零。在 try-catch 塊中,我們建立了一個除以零的情況以引發 ArithmeticException。在 catch 塊中,我們處理了 Exception,使用 getStackTrace() 方法從中檢索了一個 StackTraceElement 陣列,然後在陣列的第一個元素上使用 getMethodName() 方法,列印方法名稱。
package com.tutorialspoint;
public class StackTraceElementDemo {
public static void main(String[] args) {
// variables to store int values
int a = 0, b = 1, c;
try {
// being divide by zero, this line will throw an ArithmeticException
c = b / a;
}catch(Exception e) {
// get the array of StackTraceElement
StackTraceElement[] stackTraceElements = e.getStackTrace();
// print the method name
System.out.println(stackTraceElements[0].getMethodName());
}
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
main