ホームページ > バックエンド開発 > Python チュートリアル > Python の例外処理とは何ですか?

Python の例外処理とは何ですか?

王林
リリース: 2023-06-03 18:40:33
オリジナル
2626 人が閲覧しました

Python の例外処理とは、プログラムの実行中にエラー (ゼロ除算、ファイルが存在しないなど) が発生してプログラムが終了するか、例外が発生した場合に、プログラムが自動的に次の場所にジャンプすることを意味します。プログラムが直接終了しないように、例外処理コード ブロックを呼び出して対応する処理を実行します。

例外処理は非常に重要です。プログラマがエラー情報を出力するのに役立ち、エラーの場所を見つけてプログラムのエラー率を減らし、プログラムの安定性と保守性を向上させるのに役立ちます。

Python での例外処理には、主に try、excel、finally、raise のキーワードが含まれます。それらの使用法と機能を以下に紹介します。

1.try-excel

try-Except ステートメントは、例外をキャッチし、例外を処理して、例外によるプログラムの中断を防ぐことができます。構文は次のとおりです:

try:
    #代码块
except [异常类型]:
    #异常处理代码块
ログイン後にコピー

try ステートメント以下のコード ブロックが実行対象のコード ブロックで、例外が発生した場合は例外処理のための例外ブロックにジャンプします。例外が発生しない場合、Exception ブロック内のコードはスキップされます。

Except の後に特定の例外タイプが続く場合、Except ブロック内のコードは、そのタイプの例外がキャッチされた場合にのみ実行されます。Except の後に例外タイプが続かない場合は、例外がキャッチされます。どれも異常。

例を以下に示します:

try:
    a = 5 / 0  # 这里会抛出一个ZeroDivisionError异常
except ZeroDivisionError:
    print("除数不能为零")
ログイン後にコピー

説明: 上記のプログラムは 5/0 の実行時に ZeroDivisionError 例外をスローしますが、try-excel ステートメントの使用により、プログラムはクラッシュしますが、「除数をゼロにすることはできません」という文が出力されます。

2.finally

finally はオプションのコード ブロックで、try ブロックに例外があるかどうかに関係なく、finally ブロック内のコードが実行されます。例:

try:
    # 代码块
except:
    # 异常处理代码块
finally:
    # finally块
ログイン後にコピー

上記のプログラムでは、try ブロックで例外が発生した場合、例外処理のために例外ブロックが実行され、例外が発生しなかった場合は、finally ブロック内のコードも実行されます。 return、break、または continue などのステートメントがfinally ブロック内にある場合は、finally の値が返されます。

例を以下に示します:

try:
    f = open('filename.txt', 'r')
    lines = f.readlines()
    result = ""
    for line in lines:
        result += line
except IOError:
    print("文件读取出错")
finally:
    print("关闭文件")
    f.close()
ログイン後にコピー

説明: 上記のプログラムはファイルの読み取りに try-exc を使用しています。読み取りエラーが発生した場合、例外ブロック内のコードは、ファイルの読み取りエラーに関係なく実行されます。例外が発生した場合、ファイルが正しく閉じられるかどうかを確認するために、finally ブロック内のコードが実行されます。

3.raise

raise ステートメントは、手動で例外をスローするために使用されます。例:

x = 10
if x > 5:
    raise Exception('x不能大于5。x的值为:{}'.format(x))
ログイン後にコピー

上記のプログラムでは、x の値が 5 より大きい場合、プログラムは例外タイプの例外を手動でスローします。例外がスローされた後、プログラムは例外ブロックにジャンプします。例外処理。

4.try-excel-else

try-excel-else ステートメントの else ブロック内のコードは、try ブロックで例外がスローされなかった場合にのみ実行されます。例:

try:
    x = int(input("请输入一个整数:"))
except ValueError:
    print("无效的输入!")
else:
    print("输入的数字是:", x)
ログイン後にコピー

上記のプログラムでは、ユーザー入力が整数でない場合、ValueError 例外がスローされ、プログラムは例外ブロック内のコードを実行します。入力が整数の場合、 else プログラムが実行されます。ユーザーが入力した数値を出力するブロック内のコード。

概要

例外処理はプログラマにとって非常に重要です。例外処理は、プログラム内のエラーを見つけ、プログラムのクラッシュ率を減らし、プログラムの安定性と保守性を向上させるのに役立ちます。 Python では、try-exc ステートメントは例外をキャッチして処理するのに役立ちます。finally ブロックは、finally ブロック内のコードがどのような状況でも確実に実行されるようにします。raise ステートメントは手動で例外をスローできます。プログラムの安定性と信頼性を高めるために、これらのキーワードを適切に使用してください。

以上がPython の例外処理とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート