কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ StackWalker-এর প্রতিটি স্ট্যাক এলিমেন্ট কীভাবে অ্যাক্সেস করবেন?

জাভা ৯-এ StackWalker API প্রবর্তিত হয়েছে Thread.getStackTrace() বা Throwable.getStackTrace() এবং SecurityManager.getClassContext()-এর বিকল্প হিসেবে। এই API টার্গেট করে একটি মেকানিজম স্ট্যাক ফ্রেম ট্রাভার্স ও ম্যাটেরিয়ালাইজ করার জন্য যা দক্ষ লেজি অ্যাক্সেস দেয় অতিরিক্ত স্ট্যাক ফ্রেমেเมื่อ দরকার।

যদি আমাদের একটি এক্সেপশন স্ট্যাক ট্রেসের প্রতিটি স্ট্যাক এলিমেন্ট অ্যাক্সেস করতে হয়, তবে আমরা Throwable ক্লাসের getStackTrace() মেথড ব্যবহার করতে পারি। এটি StackTraceElement-এর একটি অ্যারে রিটার্ন করে।

উদাহরণ

import java.util.*;

// Test1 class
class Test1 {
    public void test() throws Exception {
        Test2 test2 = new Test2();
        test2.test();
    }
}

// Test2 class
class Test2 {
    public void test() throws Exception {
        System.out.println(1/0);
    }
}

// Main class
public class StackWalkerTest {
    public static void main(String args[]) {
        Test1 test1 = new Test1();
        try {
            test1.test();
        } catch(Exception e) {
            Arrays.stream(e.getStackTrace()).forEach(System.out::println);
        }
    }
}

আউটপুট

Test2.test(StackWalkerTest.java:14)
Test1.test(StackWalkerTest.java:7)
StackWalkerTest.main(StackWalkerTest.java:23)
  1. জাভাতে JTableHeader-এর প্রতিটি কলামে টুলটিপ সেট করা

  2. জাভাতে JList-এ প্রতিটি আইটেমের জন্য টুলটিপ টেক্সট সেট করা

  3. জাভাতে JTable-এর প্রতিটি কলামের প্রস্থ কীভাবে পরিবর্তন করবেন?

  4. জাভা প্যাকেজ অন্য প্যাকেজ থেকে অ্যাক্সেস করা