Answering to question 3, you can use:
raise B('second') from None
Which will remove the exception A traceback.
Traceback (most recent call last):
File "raising_more_exceptions.py", line 8, in
raise B('second')
__main__.B: second
Answering to question 3, you can use:
raise B('second') from None
Which will remove the exception A traceback.
Traceback (most recent call last):
File "raising_more_exceptions.py", line 8, in
raise B('second')
__main__.B: second