python例外の完全なキャプチャ方法


プログラムを書くときに異常に遭遇した場合、以下の処理を行いたい場合は、私が以下に書いた異常処理の方法を参考にしてください.
次のプログラムがあるとします.
try:
文1
文2
    .
文N
except .........:
    print .......
しかし、「文1~文N」が実行中にどのような異常が発生するかはわかりませんが、異常処理を行い、発生した異常を印刷したいので、プログラムの実行を停止しません.
だから「except......」この文はどのように書くべきですか.
少なくとも3つの方法:
方法1:すべての例外をキャプチャする
try:
    a=b
    b=c
except Exception,ex:
    print Exception,":",ex
方法2:tracebackモジュールを用いて異常を表示する
import traceback
try:
    a=b
    b=c
except:
    traceback.print_exc()
方法3:sysモジュールを用いて最後の異常を遡及する
import sys
try:
    a=b
    b=c
except:
    info=sys.exc_info()
    print info[0],":",info[1]
ただし、これらの例外をログ・ファイルに保存して、これらの例外を分析したい場合は、次の方法を参照してください.
そうだなprint_exc()画面に印刷された情報をテキストファイルに保存
try:
    a=b
    b=c
except:
    f=open("c:log.txt",'a')
    traceback.print_exc(file=f)
    f.flush()
    f.close()