
- 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 getLineNumber() 方法
描述
Java StackTraceElement getLineNumber() 方法返回包含此堆疊跟蹤元素所表示的執行點的原始碼行的行號。
宣告
以下是java.lang.StackTraceElement.getLineNumber() 方法的宣告
public int getLineNumber()
引數
無
返回值
此方法返回包含此堆疊跟蹤元素所表示的執行點的原始碼行的行號,如果此資訊不可用,則返回負數。
異常
無
示例:使用 StackTraceElement 獲取當前執行緒的行號
以下示例演示了 Java StackTraceElement getLineNumber() 方法的用法。在這個程式中,我們定義了一個名為 function2() 的函式,它從當前執行緒的 StackTraceElement 獲取行號。另一個名為 function1() 的函式用於例項化 StackTraceElementDemo 類並呼叫 function2() 方法。在主方法中,我們呼叫了 function1() 方法,並列印結果。
package com.tutorialspoint; public class StackTraceElementDemo { // main method public static void main(String[] args) { // call function1() to invoke function2() function1(); } // function1() is to invoke function2() // using StackTraceElementDemo object public static void function1() { new StackTraceElementDemo().function2(); } // print the line number of current thread using StackTraceElement public void function2() { System.out.print("Line Number : "); System.out.print(Thread.currentThread().getStackTrace()[1]. getLineNumber()); } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
Line Number : 20
示例:使用 ArithmeticException 的 StackTraceElement 獲取行號
以下示例演示了 Java StackTraceElement getLineNumber() 方法的用法。在主方法中,我們建立了三個 int 變數,其中一個變數的值為零。在 try-catch 塊中,我們建立了一個除以零的情況以引發 ArithmeticException。在 catch 塊中,我們處理了 ArithmeticException,使用 getStackTrace() 方法從中檢索 StackTraceElement 陣列,然後在陣列的第一個元素上使用 getLineNumber() 方法,列印行號。
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()); } } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
12
示例:使用 Exception 的 StackTraceElement 獲取行號
以下示例演示了 Java StackTraceElement getLineNumber() 方法的用法。在主方法中,我們建立了三個 int 變數,其中一個變數的值為零。在 try-catch 塊中,我們建立了一個除以零的情況以引發 ArithmeticException。在 catch 塊中,我們處理了 Exception,使用 getStackTrace() 方法從中檢索 StackTraceElement 陣列,然後在陣列的第一個元素上使用 getLineNumber() 方法,列印行號。
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 line number System.out.println(stackTraceElements[0].getLineNumber()); } } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
12