ই.প্রিন্টস্ট্যাকট্রেস পাইথনের সমতুল্য
জাভাতে, এটি নিম্নলিখিত ( ডক্স ) করে:
public void printStackTrace()
স্ট্যান্ডার্ড ত্রুটি প্রবাহে এই নিক্ষেপযোগ্য এবং এর ব্যাকট্রেস মুদ্রণ করে ...
এটি এভাবে ব্যবহার করা হয়:
try
{
// code that may raise an error
}
catch (IOException e)
{
// exception handling
e.printStackTrace();
}
জাভাতে, স্ট্যান্ডার্ড ত্রুটি স্ট্রিমটি অসমাপ্ত হয় যাতে আউটপুটটি তত্ক্ষণাত উপস্থিত হয়।
পাইথন 2-তে একই শব্দার্থক শব্দগুলি হ'ল:
import traceback
import sys
try: # code that may raise an error
pass
except IOError as e: # exception handling
# in Python 2, stderr is also unbuffered
print >> sys.stderr, traceback.format_exc()
# in Python 2, you can also from __future__ import print_function
print(traceback.format_exc(), file=sys.stderr)
# or as the top answer here demonstrates, use:
traceback.print_exc()
# which also uses stderr.
পাইথন ঘ
পাইথন 3 এ, আমরা সরাসরি ব্যতিক্রম বস্তু (যা সম্ভবত থ্রেড কোডের জন্য আরও ভাল আচরণ করে) থেকে ট্রেসব্যাক পেতে পারি। এছাড়াও, স্ট্ডার লাইন-বাফারড , তবে মুদ্রণ ফাংশনটি ফ্লাশ যুক্তি পায়, তাই এটি অবিলম্বে স্ট্যাডারে মুদ্রিত হবে:
print(traceback.format_exception(None, # <- type(e) by docs, but ignored
e, e.__traceback__),
file=sys.stderr, flush=True)
উপসংহার:
পাইথন 3-তে, traceback.print_exc()
যদিও এটি sys.stderr
ডিফল্টরূপে ব্যবহার করে তবে আউটপুটটি বাফার হয়ে যায় এবং আপনি সম্ভবত এটি হারাতে পারেন। তাই পাইথন 3, যতটা সম্ভব সমতুল্য শব্দার্থবিদ্যা যেমন পেতে, ব্যবহার print
সঙ্গে flush=True
।
format_exc
তার পরিবর্তে স্ট্রিং পেতে পারেন ।