18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

watnow Advent CalendarAdvent Calendar 2021

Day 10

開発中にエラーを吐いてよくQiitaの記事にたどり着くあなたへ

Posted at

#開発中にエラーを吐いてよくQiitaの記事にたどり着くあなたへ

この記事は開発中にエラーを吐いてGoogle先生に質問し,そして検索の上位に出てくるQiitaの記事によくだどりついてしまうあなたへの記事です.「俺はQiitaではなく,公式ドキュメントを読むんだ!」という方もぜひ軽い気持ちでご覧になってください.きっと役に立つはずです.

#結論 例外処理で工夫する
まず,結論としては例外処理でQiitaに飛ばしましょう.Pythonでの書き方の例を示します.普通の例外処理はこのように書きますね.

try:
    print(1/0)
except ZeroDivisionError as e:
    print(e)
try:
    print(1/0)
except Exception as e:
    print(e)

これらは見慣れた光景だと思います.特に下の書き方はあらゆるエラーを拾ってくれて楽なので多用しがちです.ですが,上のように起こりうるエラーを想定して例外処理を書くのが本番環境では理想です.予期せぬエラーはプログラムが動かなくなる一番の原因であるためきっちり最後は起こりうるエラーを想定して例外処理を書いてください.ですが私もうまく書けるわけではありません.精進します.
話を戻します,兎にも角にもエラーを吐いてそれをいちいち調べるのって面倒くさいですよね.
そこで,例外部分を工夫します.

import webbrowser
try:
    print(1/0)
except Exception as e:
    webbrowser.open('https://qiita.com/search?q={}'.format(e))

こうすることでtry分の中で起こったエラーを全てQiita内で検索してくれます.このプログラムだとdivision by zeroとエラーが発生します.すると自動的に既定のブラウザを開いて下の画像のように検索してくれます.
image.png

このページのURLはhttps://qiita.com/search?q=division%20by%20zeroとなっています.このQiitaで検索する例外処理ですが,コーディングしているときにコード全体をtry文で囲うことをお勧めします.そうすることでエラーを吐いたときに一瞬でそのエラーを検索することができます.
ここで,蛇足ですが,この記事を見たプログラミング初心者の方のために軽くこのURLの仕組みを解説しようと思います.もしちゃんとURLについて知らないかもと思っている方がいればぜひご覧になって帰ってください.

#URLの仕組み
まず,最初のhttpsはプロトコルです.これは私たちのPCやスマホとウェブページが入っているサーバーが通信をするときの規約です.興味がある方はhttpとhttpsの違いなどで検索してみることをお勧めします.
次にqiita.comですが,これはドメイン名です.ドメイン名とはIPアドレスと一対一で紐づけられている名前です.ざっくり言うと,全てのウェブページにはIPアドレスが存在していますが,その数字だけで表されたIPアドレスでウェブページを探すのは人間には都合が悪いため都合よく名前を付けてみた.これがドメイン名です.
次は/searchの部分です.これはファイルのパスを示しています.ただ,難しいと感じる方は「qiita.comの中のsearchという部屋にいる」くらいの感覚でいるのがいいかもしれません.

最後にq=division%20by%20zeroです.これはパラメータと呼ばれるものです.パラメータとはウェブページ(ウェブサーバー)に対してユーザが指定する引数のことです.皆さんが関数を利用する引数と同じです.
例えばYoutubeのリンクは次のような感じです.https://www.youtube.com/watch?v=ofYTAoS4LzE&t=270s
これはwww.youtube.comの中のwatchという部屋にいて,vという値がofYTAoS4LzE,tという値が270sという風に指定しています.vの方は動画を指定しているパラメータで,tの方が動画の再生開始時間を指定しているパラメータです.このURLがどのような動きをするか気になる方はこちらから再生できます.270秒(4分30秒)から動画が始まります.
以上で分かっていそうで分かっていないミニURL講座を終了します.

#終わりに
正直なことを話すと,私はエラーを吐いたとき,公式ドキュメントでその原因を調べてほしいと思っています.そうすることでエラーの中身や細かい仕様などについて勉強できて今後のコーディングに大いに生かせるからです.ただ,初学者,初心者はそんなことをしていたら心が折れると思います.少しでもプログラミングで挫折する人が減ったらいいなとこの記事を書きました.幸い,Qiitaには優秀なエンジニアたちの優秀な記事がたくさんあります.それらが全てコピペで動くとは言えませんが,かなり参考になるものもたくさんあります.さらにQiitaは日本語の記事が豊富です.ですからみなさんもこの方法でどんどんエラーを調べて力をつけてほしいです.

18
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?