Tech C**P
15 subscribers
161 photos
9 videos
59 files
304 links
مدرس و برنامه نویس پایتون و لینوکس @alirezastack
Download Telegram
How much do you know about python traceback? Here we will dive deep into this concept.

What is a traceback?
This module provides a standard interface to extract, format and print stack traces of Python programs.

It acts a lot like a python interpreter when it print a stack trace. traceback module has many functions, we will review some of them here.

traceback.print_exc():
Print exception information and up to limit stack trace entries from the traceback tb to file. This is a shorthand for print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file).

traceback.format_exc():
This is like print_exc(limit) but returns a string instead of printing to a file.

A sample traceback usage derived from python documentation:
import sys, traceback

def run_user_code(envdir):
source = raw_input(">>> ")
try:
exec source in envdir
except:
print "Exception in user code:"
print '-'*60
traceback.print_exc(file=sys.stdout)
print '-'*60

envdir = {}
while 1:
run_user_code(envdir)

#python #traceback #exception #format_exc #print_exc
What is the difference between the below exceptions:

try:
// Your code block
except:
// Your exception block

Vs:

try:
// Your code block
except Exception:
// Your exception block

A bare except: clause will catch SystemExit and KeyboardInterrupt exceptions, making it harder to interrupt a program with Control-C, and can disguise other problems. If you want to catch all exceptions that signal program errors, use except Exception: (bare except is equivalent to `except BaseException:`).

NOTE: When catching exceptions, mention specific exceptions whenever possible instead of using a bare except: clause.

A better try & except:

try:
import platform_specific_module
except ImportError:
platform_specific_module = None

#python #PEP8 #try #except #try_except #exception