問題タブ [data-acquisition]
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.
python - for ループ宣言内で不明なエラーが発生しました。これを修正するにはどうすればよいですか?
これは、常に失敗している作業に対する私のプロジェクトの機能です (完全に共有することはできません)。Raspberry Pi を使用して、データ収集とモーター制御のための多目的システムに取り組んでいます。デバッグと、ユーザーが何らかの形で誤ったデータを提供した場合の両方のために、大きな try:/except: システムをセットアップしました。
0b0
この関数は、提供されたデータ、設定、および0b1
供給されたテキスト '0' または '1' ごとに正常に繰り返されます。ただし、「真の」バイナリへの変換に成功すると、それらを変換するために 8 つのグループを反復処理するときに失敗します (これは、何らかの理由で、他の試行でTypeErrorint(x, base)
がスローされたためです)。スローされるエラーは、次のいずれでもありません。
- TypeError
- 算術エラー
- RuntimeError (どちらにフォールバックする必要がありますか?)
- 環境エラー
- UnboundLocalError
- ルックアップ エラー
- ValueError
- インデックスエラー
and サブコードを実行するfor i in range(0, floor(length / 8), 1):
とエラーがスローされますが、説明されていません。失敗するだけです。この特異な関数を数日間デバッグしてきましたが、これが最後の問題のようですが、正直なところ、なぜ失敗するのかわかりません。関数convertStates(data)
は以下のとおりです。
前に述べたように、try:/except: システムは、自分の側でエラーを特定し、エンド ユーザーの問題解決の基礎を築くために導入されました。
私はこれを取り巻く10以上の異なる投稿を見てきましたが、役に立ちませんでした. これでエラーが見つかりません。何もint(x, base)
変換できなかったため、この方法で設定する必要がありました。この投稿を参照してください ( Python で文字列をバイナリに変換する)。これは、使用しようとしたソリューションの 1 つです。
呼び出しに関してはexit()
、この関数はループの一部で呼び出されるため、20 個の例外が積み重なって無限ループにならないようにするためです。
私は何を間違っていますか、どうすれば修正できますか? それは私が気付くべきだったばかげた小さなことでしたか (Python は私のトップ言語ではありません)、それともまったく別の何かでしたか? どんな助けでも大歓迎です。これは私を少し気が狂わせているだけです-私が見たものは何も解決できず、これを作成する原因となった問題も解決できません.
編集: 人々はコールバックを裸の なしで置くと言いましたがexcept:
、前に言ったように、それは何も与えません。失敗するだけです。エラーコードもトレースバックも何もありません。正直に言うと、except:
from テスト コードと from ループを削除しました。実行を継続する必要がある場合は、終了するだけです。