Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

初学者がよく見かけるエラーメッセージを改善する #190

Open
dynamis opened this issue Jun 13, 2022 · 0 comments
Open

Comments

@dynamis
Copy link
Contributor

dynamis commented Jun 13, 2022

初学者のデバッグを手伝っていてエラーメッセージが分かりにくいとの意見があり、以下のような修正をしたい。

  • init() に依存するメソッド (例えば read() だがほぼ全て) で init() 完了前に呼ばれた場合 i2c device initialization have not dompleted yet. Please call read() method after init(). というようなエラーを返す
    • init() 呼び忘れている場合、呼んでいるが await ナシで呼んでしまった場合によくみる
    • init() 中で this.inited = true して if(!this.inited) で確認してエラーを出す想定
  • i2d slave address が間違っている場合にはどのアドレスを指定したデバイスでのエラーか分かるよう Could not access to i2c slave device with i2c address: 0x${this.slaveAddress.toString(16)}. Please check i2c address and wiring to i2c device (ADS1x15). のようなエラーメッセージを出したい (this.slaveAddress は初期化時点で整数値が指定されていることを確実にした上で)
    • i2c デバイスの配線間違い、i2c アドレスの指定が間違っている場合、特に複数のアドレスに対応するデバイスで違うアドレスが指定されている場合によく見かける。上記 init 忘れ問題でも見かけるが、その場合については上記対応をしていれば除外されるので配線かアドレスのミスが主になる
    • より具体的に言えば if(this.i2cSlave ==null) 時に出すエラーメッセージが "i2cSlave is not open yet." はまだしも "i2cslave is gone..." というエラーメッセージ (ads1x15) はこのエラーを発生させてしまうレベルの人には難しい。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant