Python-例外処理

1つは、例外を理解する###


2、Python例外分類###


例外名 説明
BaseException すべての例外の基本クラス
SystemExit 終了するパーサーリクエスト
例外 一般的なエラーの基本クラス
StopIteration Iteratorに値がありません
ArithmeticError すべての数値計算エラーの基本クラス
FloatingPointError 浮動小数点計算エラー
OverflowError 数値演算が上限を超えています
AttributeError オブジェクトにはこの属性がありません
FileNotFoundError ファイルが見つかりません
ZeroDivisionError 分割(またはモジュロ)ゼロ(すべてのデータタイプ)
....... ......

3、例外処理###


文法

try:
  エラーが発生する可能性のあるコード
except: 
  例外が発生した場合に実行されるコード

注意:

  1. 実行しようとしているコードの例外タイプが、キャッチする例外タイプと一致しない場合、例外をキャッチできません。
  2. 通常、実行されるコードは1行だけ試行されます。

第四に、異常な送信###


異常な配達を経験する

  1. test.txtファイルを読み取り専用モードで開こうとします。ファイルが存在する場合は、ファイルの内容を読み取り、ファイルが存在しない場合はユーザーにプロンプトを表示します。
  2. コンテンツを読み取るための要件:ループ内でコンテンツを読み取ろうとします。読み取りプロセス中にユーザーが誤ってプログラムを終了した場合は、例外が例外をキャプチャします。
    多くの場合、ユーザーにプロンプトを表示します
import time
try:
  f =open('test.txt')try:while True: 
     content = f.readline()iflen(content)==0:break 
     time.sleep(2)print(content) 
   except: 
     # ファイルの読み取り中に例外が発生した場合、それはキャッチされます
     # たとえば、ctrlを押します+c
     print('データ読み取りの予期しない終了')finally: 
   f.close()print('ファイルを閉じる') 
except:print("そのようなファイルはありません")

5、カスタム例外###

Pythonでは、カスタム例外をスローするための構文は、例外クラスオブジェクトを発生させることです。

# カスタム例外クラス、例外を継承
classShortInputError(Exception): 
  def __init__(self, length, min_len): 
   self.length = length
   self.min_len = min_len

  # スローされた例外の説明を設定します
  def __str__(self):return f'入力した長さは{self.length},よりは少なくない{self.min_len}キャラクター' 

def main():try:
   con =input('パスワードを入力してください:')iflen(con)<3: 
     raise ShortInputError(len(con),3) 
  except Exception as result:print(result)else:print('パスワードが入力されました')main()

Recommended Posts

Python-例外処理
Pythonの例外処理