問題タブ [traceback]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1968 参照

python - デコレータまでトレースバックが表示される

この素敵な小さな Python デコレーターは、装飾された関数を構成可能に無効にすることができます。

残念ながら、トレースバック内で例外が発生した場合はfn()、ラッパーまでしか表示されません。

  1. なんで?
  2. 完全なトレースバックを表示するための回避策はありますか?
0 投票する
1 に答える
231 参照

python - Django:構文エラーでテンプレートのデバッグ情報をユーザーに取得する方法

ユーザーが独自のテンプレートをテキストエリアに送信できるページがありますが、今のところはそれほど単純にする必要があります。ただし、それはユーザーが生成した入力であるため、アプリケーションの残りの部分を壊すようなことをしていないことを確認する必要があります。

有用なフィードバックを提供する目的で、django が提供するものに似たものが必要です (django 1.4 を使用):

ここに画像の説明を入力

特に上記のビット。ユーザーテンプレートをdjangoテンプレートに入れているので、構文エラーや自分で確認する必要はありません。それは次のようになります。

render 呼び出しが必要です。それ以外の場合、例外はまったくスローされません。

例外とその引数を印刷しようとしましたが、非常に限られた情報しか得られません。トレースバックも使用してみましたが、テンプレート内の行番号や何かを返すことはなく、Pythonコードで例外がスローされた場所にのみ返されます。また、Googleを使用しても何も見つかりませんでした.Djangoソースコードを検索すると、実際のエラーページがどこに生成されているのか疑問に思いました...


基本的に私の質問は次のとおりです。画像に表示されている情報を取得するにはどうすればよいですか?

編集 明確にするために: メールの送信中にこれらのテンプレートを使用できるように、ユーザーがテンプレートを作成できるようにしたいと考えています。Django テンプレート エンジンは既に存在するため、他のものではなくそれを使用することにしました。

テンプレート自体は、このスニペットと変数の独自の解析を使用して安全に作られています。これまでのところ、ユーザーへの有用なデバッグ メッセージを除いて、すべてが機能しています。これまでのところ、「テンプレートの解析中に問題が発生しました。予期しないブロックタグが拡張されました」(たとえば) だけです。これは、上記の画像のようになりたいと思います。

0 投票する
3 に答える
2960 参照

python - Django:LiveServerTestCaseテストを実行すると、(エラーの場合に)トレースバックを取得できないのはなぜですか?

私はSeleniumでいくつかのテストを書いています。

セレンテスト(LiveServerTestCaseタイプ)を実行し、コードにエラーがある場合(テストではなく、実行されたコードで、セレンで到達するホームページビューのように)、500テンプレートを取得します(通常、私はDEBUG=False)を持っていますが、次の場合でも:

私はそれに固執していて、なぜ私のテストが失敗したのかわかりません(パブリック500では例外を表示しないため)。

なぜそれがそのように振る舞うのですか?どこで解決できますか?

runserverを実行すると、完全に機能します(トレースバックを取得します)。

0 投票する
1 に答える
589 参照

python - Python ベースの DSL で例外からのトレースバックをカスタマイズする

私は楽しみのために、python ベースの DSL を作成しています。現時点では、Python コードを直接実行する AST にテキストをコンパイルするだけです。つまり、次のように記述します。

これを次のようなツリーに変換します。

これらの各ノードは、次のようなコードで実行されます。

それは非常にうまく機能します。一部の命令が例外をスローしたときに、例外スタックのトレースバックが python AST コードではなく DSL ソース コードを指すようにしたかったのです。今、私が見るのは次のとおりです。

Pythonでトレースバックが生成される方法をカスタマイズする方法はありますか?

0 投票する
2 に答える
242 参照

python - Python でインデックスが範囲外であるというエラーが表示されますが、その理由はわかりません

機械語をアセンブリ言語に変換するコードを作成しましたが、コマンド プロンプトから実行しようとするとエラーが発生し続けます。私が受け取っているエラーは次のとおりです。

なぜ範囲外なのかはよくわかりません。コマンドプロンプトに入れているのは次のとおりです。

誰かが以下の私のコードを見て、なぜそれが私にこれを与えているのかを理解するのを手伝ってもらえますか?

これらのブロックの間にコード定義がさらにあり、エラー メッセージで参照されている 102 行目は、次のブロックの 10 行目です。

0 投票する
3 に答える
2617 参照

python - Python コールバック ハンドラ - より良いエラー メッセージ?

ネットワーク経由で JSON メッセージを取得するためにstomp.pyライブラリを使用しています。コールバックを使用してメッセージ処理を提供する、ここで提供する簡単な例を採用しました。

しかし、そのコールバックを変更したときに単純なエラーが発生しました。たとえば、JSON 文字列を解析しようとしたときに、json.loads() の代わりに json.load() を呼び出しました。

通常はそれで問題ありません。AttributeError になり、トレースバックが表示されます。ただし、この場合、Python は次のように出力します。

ロガー「stomp.py」のハンドラが見つかりませんでした

...トレースバックもクラッシュもありません。それだけです。デバッグして何が間違っていたのかを見つけるのは非常に混乱します! 少なくとも次の行に沿った通常のトレースバックを期待していました。

...リスナー全体を退屈させるのではなく。それは別のスレッドで発生したためだと思いますか?

解決したので、これはコールバックの一種のランタイム エラーのようなもので、エラーが発生したときに何か間違ったことをしたことを少なくとも知っていますが、何らかの間違いをするのではなく、間違いを犯すたびにそのエラーを吐き出すだけの場合便利なメッセージですが、コーディングが少し難しくなります。

これは何が原因ですか?そして、通常のより詳細なトレースバックを取り戻すにはどうすればよいでしょうか?

0 投票する
8 に答える
17026 参照

runtime-error - pip のアップグレード後の DistributionNotFound エラー

ここでvirtualenvについて読んで、私はpip 1.3+を持っていないことに気づいたので、pip install --upgrade pip実行しましたが、実行pip --versionすると次のようになります:

それが役立つ場合、または関連性がある場合、私の$PATH見た目は次のようになります。

また、私にwhich pip与えます/usr/local/bin/pip

エラーについて何をすべきかわからない。ありがとう。

0 投票する
1 に答える
615 参照

django - Django UnknownTimeZoneError

最近、私はGoogleアプリエンジンをいじっていて、GAE用のpytzバージョン(より正確にはgaepytz-2011h-py2.7)をインストールしました。Django プロジェクトの管理者を開こうとすると、次のトレースバックで上記のエラーが発生します。

誰でもこれを解決するのを手伝ってもらえますか?

0 投票する
2 に答える
90 参照

python - 古いスクリプトが Python トレースバックに従って実行されています

Python でトレースバックを再評価するときに奇妙な問題が発生しました。一部のコードを更新しましたが、デバッグ中に古いコードを使用しています。以下のような詳細なトレースバック:

download.save()によってスローされた例外は既に削除されていると確信しています。つまり、 の 61 行目には次の~/myenv/lib/python2.7/site-packages/myapp/worker.py ものが含まれていません download.save()

一致するものが見つかりませんでした。

しかし、Pythonはまだ古いコードを使用しているようです。私の新しい変更はまだ機能しません。さらに、スクリプトを実行する前に、保存ディレクトリの下にある worker.pyc ファイルも削除しました。

問題を解決する方法はありますか?