Yes you can catch all errors like so:
try:
print(555)
except Exception as e:
print("type error: " + str(e))
For the stack trace I usually use the traceback module:
import traceback
try:
print(555)
except Exception as e:
print("type error: " + str(e))
print(traceback.format_exc())