質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

7024閲覧

Python3 iniファイルの例外処理

person

総合スコア224

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/01 13:23

編集2020/07/01 13:24

iniファイルの内容を取得するときに例外処理を書きますが、configparserにあるNoSectionErrorなどで処理したときにエラーメッセージを表示することは可能ですか?

(except Exception as e としたときの print(e) みたいな感じで、どのセクション・オプション指定で例外が発生したか)

ソースコード

Python

1import configparser 2import os 3import sys 4 5ini = configparser.ConfigParser() 6ini.read(os.path.dirname(sys.argv[0]) + "/" + "test.ini") 7 8try: 9 a = ini.get("setting", "a") 10 b = ini.get("setting", "b") 11 c = ini.get("setting", "c") 12 print(a, b, c) 13 14# この方法だと、例外の発生部分がわからない(?) 15 16# ファイルが見つからないまたはセクションがない 17except configparser.NoSectionError: 18 print("NoSectionError") 19 20# オプション(パラメータ)がない 21except configparser.NoOptionError: 22 print("NoOptionError") 23 24""" 25# この方法だと print(e) から例外の発生部分が分かる 26# No option 'a' in section: 'setting' 27# のような感じで 28 29# 全ての種類の例外を拾って表示 30except Exception as e: 31 print(e) 32""" 33

ini

1[setting] 2a = aaa 3b = bbb 4c = ccc

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

例外オブジェクトの中に情報があります。

# エラーメッセージをカスタマイズしたい場合 # 省略 except configparser.NoSectionError as e: print("NoSectionError", e.section) except configparser.NoOptionError as e: print("NoOptionError", e.option, e.section)

configparserのドキュメント
ページ上部にソースコードへのリンクがあるので、該当部分だけでも一読をお勧めします。
例外クラス自体は、例外時の情報を格納するだけの数行のコードです。

投稿2020/07/01 14:35

teamikl

総合スコア8760

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

エラーを検出した場合に、自作の例外を生成すればいいです。
あなたのお望みのメッセージを仕込むことも可能です

例外を発生させる | Python学習講座

投稿2020/07/01 13:42

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問