1

例外値が発生したときに、ページに戻る (そしてそれを書き込む) 方法を知りたいです。たとえば、今私はこれをやっています:

try:
    user.save()
except:
    err_msg="An error verified during user adding process. Please repeate the procedure"
return render_to_response('staff.html', {'m':m, 'err_msg':err_msg})

ユーザーにもっと明確にして、どのようなエラーが発生したかを伝えたいと思います。

4

2 に答える 2

0

実際のエラー メッセージをユーザーに表示しないでください。それはセキュリティの面で悪いです。あなたがしたことは問題ありません。ただし、デバッグ目的で実際のエラー メッセージを出力して、失敗の原因を突き止める必要があります。

try:
    user.save()
except Exception, e:
    print e.message # print actual error message and figure out what went wrong
    err_msg="An error verified during user adding process. Please repeate the procedure"
return render_to_response('staff.html', {'m':m, 'err_msg':err_msg})
于 2013-01-13T15:21:17.177 に答える
0

エラーメッセージのテキストをキャプチャする方法を尋ねている場合は、キャプチャして印刷してください。

try:
   '2' + 2
except TypeError as e:
   print '{}'.format(e)

もできますがprint e.message、直接印刷してみる方が安全です。

どの例外が発生するかわからない場合は、汎用の except 句を使用して、次のようにします。

import sys

try:
   '2' + 2
except:
    print sys.exc_info()[1].message

ただし、ジェネリックの except 句は、適切なプログラミング手法ではありません。例外を明示的にキャッチすることは常に良いことです。

于 2013-01-13T15:21:40.717 に答える