問題タブ [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.

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

python - for ループ宣言内で不明なエラーが発生しました。これを修正するにはどうすればよいですか?

これは、常に失敗している作業に対する私のプロジェクトの機能です (完全に共有することはできません)。Raspberry Pi を使用して、データ収集とモーター制御のための多目的システムに取り組んでいます。デバッグと、ユーザーが何らかの形で誤ったデータを提供した場合の両方のために、大きな try:/except: システムをセットアップしました。

0b0この関数は、提供されたデータ、設定、および0b1供給されたテキスト '0' または '1' ごとに正常に繰り返されます。ただし、「真の」バイナリへの変換に成功すると、それらを変換するために 8 つのグループを反復処理するときに失敗します (これは、何らかの理由で、他の試行でTypeErrorint(x, base)がスローされたためです)。スローされるエラーは、次のいずれでもありません。

  1. TypeError
  2. 算術エラー
  3. RuntimeError (どちらにフォールバックする必要がありますか?)
  4. 環境エラー
  5. UnboundLocalError
  6. ルックアップ エラー
  7. ValueError
  8. インデックスエラー

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 ループを削除しました。実行を継続する必要がある場合は、終了するだけです。