Sys.exit () ব্যবহার এড়াতে এবং প্রোগ্রামটি পরিষ্কারভাবে শেষ করার জন্য ব্যতিক্রমগুলি বাড়াতে / হ্যান্ডেল করার জন্য এটি আরও ভাল অনুশীলন। আপনি যদি ট্রেসব্যাকটি বন্ধ করতে চান তবে কেবল ব্যবহার করুন:
sys.trackbacklimit=0
সমস্ত স্ক্র্যাকব্যাক আউটপুট স্কোয়াশ করতে আপনি এটি আপনার স্ক্রিপ্টের শীর্ষে সেট করতে পারেন, তবে আমি এটিকে আরও স্বচ্ছভাবে ব্যবহার করতে পছন্দ করি, উদাহরণস্বরূপ "জ্ঞাত ত্রুটি" যেখানে আমি আউটপুট পরিষ্কার রাখতে চাই, যেমন foo.py ফাইলটিতে:
import sys
from subprocess import *
try:
check_call([ 'uptime', '--help' ])
except CalledProcessError:
sys.tracebacklimit=0
print "Process failed"
raise
print "This message should never follow an error."
যদি কল করা প্রসেসরর ধরা পড়ে তবে আউটপুটটি এর মতো দেখাবে:
[me@test01 dev]$ ./foo.py
usage: uptime [-V]
-V display version
Process failed
subprocess.CalledProcessError: Command '['uptime', '--help']' returned non-zero exit status 1
অন্য কোনও ত্রুটি দেখা দিলে আমরা এখনও সম্পূর্ণ ট্রেসব্যাক আউটপুট পাই।