MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】エラーの発生に強いプログラムの作り方

【Python】エラーの発生に強いプログラムの作り方

2020 5/29
Python
2020年1月13日2020年5月29日

前回、Pythonプログラムのエラーと例外についてまとめました。

あわせて読みたい
【Python】プログラムエラーと例外の意味まとめ Pythonでプログラミングをする際に、実行するとエラーが発生することが多々あります。 初めの頃はエラーメッセージを見てもどのように対処すれば良いのかわかりますが、...

例えば、間違えて関数に数字以外の文字列を入力した場合はエラーが発生し、プログラムが終了します。
今回は例外処理に対して、想定外のエラーが発生した時に適切に処理ができるようなプログラムの作り方を紹介します。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

「Python」例外エラーの発生に値する適切な処理をするプログラムの作成

以下では、Pythonのプログラムに、「平成」を入力した際に、「heisei_command()」関数が実行されます。
プログラム実行時に「平成,2000」とコロン「,」で平成と数値(西暦)を入力します。
実行結果により、西暦を計算し、平成生まれなのかそうでないのかを判断します。

このプログラムの中で、「split()メソッド」で分割し、「year_str」変数には数値がはい入ります。
ここで、数値以外の「文字列」を入力すると、「ValueError」が発生します。

この「ValueError」が発生すると、例外で発生したエラーメッセージを返す処理を実行します。

例外処理のプログラミング「try文」

例外処理では、「try文」を使用して書きます。
以下のプログラムでは、「平成」という文字列と数値(西暦)をコロン「,」区切りで入力することで、その数値(西暦)を平成何年かを出力します。

まずは以下のように「try文」を作成し、try文の中で例外「ValueError」が発生した場合は、メッセージにエラーを示す文字列を指定して返すプログラムとなります。

※ reigai_test.py

def heisei_command(command):
    heisei, year_str = command.split(',')
    try:
        year = int(year_str)
        if year >= 1989:
            heisei_year = year - 1988
            response = '西暦{}年は、平成{}年です。'.format(year, heisei_year)
        else:
            response = '西暦{}年は、平成ではありません。'.format(year)
    except ValueError:
        response = '数値を入力してください。'
    return response


while True:
    command = input('bot> ')
    response = ''

    if '平成' in command:
        response = heisei_command(command)

    if 'さようなら' in command:
        print('サヨウナラ')
        break

    if not response:
        response = '何を言っているのかわからない'
    print(response)

※ 実行結果

$ python3 reigai_test.py 
bot> 平成,元年
数値を入力してください。
bot> 平成,3年
数値を入力してください。
bot> 平成,2000
西暦2000年は、平成12年です。
bot> 平成,1990
西暦1990年は、平成2年です。
bot> さようなら
サヨウナラ
$ 

例外処理は事前にチェックできるエラーケースを把握してif文などで対処するようにしましょう。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次