[解決済み] Python用ジェネリックキャッチ
2023-01-10 17:50:47
質問
サイレント例外が発生するような、非常に奇妙な動作があります。すべての例外をデバッグできる一般的なトライキャッチをどのように書けばよいのでしょうか。行に沿った何か。
try:
# something that fails
except e:
print e
もう少し詳しく、目の前の問題について説明します。
私のコンピュータ (Ubuntu Linux 8.10) で、runserver と mod-python の両方でうまく動作する Django アプリを持っています。デプロイサーバー (Ubuntu Linux 8.10) では、runserver を通して正常に動作しますが、mod-python で apache を通して失敗します。
私は、Berkeley DB (bsddb.db) を使用するアプリの一部と、セカンダリ キーに原因を絞り込みました。セカンダリ キーのコールバック メソッドは、キーをフォーマットするために pickle を使用します。1つの値に対してpickleを呼び出すと失敗する。しかし、それは私がcPickleを使用するときにのみ失敗し、コールバック関数の外側で同じ値でpickleを使用することも動作します。
なぜcPickleで失敗するのか知りたいのです。
どのように解決するのですか?
例外は、デフォルトではすでにプログラム終了前に出力されます。もし、エラーをどこかに送りたい(プリントしない)場合は、このようにします。
try:
something()
except Exception as e:
send_somewhere(traceback.format_exception(*sys.exc_info()))
raise # reraises the exception
を使ったこの形式は
as
キーワードを使用したこの形式は、python > 2.6用です。古い方法は
except Exception, e:
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonでファイルの読み込みと上書きをする