try...excel は、例外をキャッチして処理するための最も一般的な構造です。その主な機能は、try で問題が発生する可能性のあるコード ブロックをラップし、エラーによってプログラムがクラッシュして実行できなくなるのを防ぐことです。 .
共通の try...excpet 構造が 3 つあります。
try: pass except BaseException as e : 异常处理模块
try には、例外を引き起こす可能性のあるプログラム コードが含まれており、Except ブロックには例外をキャッチし、例外を処理するために使用されるコードが含まれています。例外が発生する
try に含まれるモジュールで例外が発生した場合、excpet 内のモジュールが例外を処理します。例外が発生しなければ、プログラムは例外を処理します。例外のコードは実行されません。
テスト用のエラーを報告するコード ブロックを作成しました
try: test = eval(str(input("请输入一个字符串: "))) tests = test + "This is a piece of test code" except BaseException as e: print("出现的错误可能是%s"%e) print("这是一段测试输出")
エラー メッセージ: サポートされていないオペランドの種類: 'int' および 'str '
サポートされていません: データ型: "int" と "str" の連結 ( ) 演算
正しいコード入力:
try: test = str(input("请输入一个字符串: ")) tests = test + " "+"This is a piece of test code" print("输入正确的内容则会执行的代码块:",tests) except BaseException as e: print("出现的错误可能是%s"%e) print("这是一段测试输出")
文字は文字列と結合できません。文字列に変換された数値のみが結合できます。
これは、tryException によって処理されない問題のあるコード ブロックです:
try...Except... が使用されていない場合: 可能性のあるコードをラップするために、プログラムがクラッシュします。後続のコード実行
test = int(input("请输入一个字符串: ")) tests = test + " "+"This is a piece of test code" print("这是一段测试输出")
複数の例外ステートメント、
記述されたコードのエラー タイプが明確でない場合は、さらにいくつかの catch 例外ステートメントを記述できます。 、隠蔽操作のために最後に例外 BaseException を追加することを忘れないでください (発生したエラーが、Except でキャッチした例外でない場合は、それを隠蔽に使用できます)。これはすべての例外の親クラスであり、次のものが含まれます。すべての共通例外
arr = { "xiaomi":"123", "xiaozhang":"456", "xiaodede":"7,8,9" } arrs = (1,2,3,4,5) try: 3 / 0 print(arrs[6]) except IndexError : print('导入包失败') except KeyError : print('在字典中找不到指定的键') except ImportError : print("索引时没有找到指定序列") #兜底捕获错误,BaseException 是所有错误的父类可以说是包含了所有常见的错误 except BaseException as e: print(arr["mayuanyuan"]) print(e)
上記の操作で表現された関数は、次の操作と一貫しています。また、考えられるすべての例外を例外に記述し、例外をコンマ
arr = (1,2,3,4,5) try: int("3.1415926") print(add) # 未定义 print(arr[6]) #超出索引 except (IndexError,NameError,ValueError)as e: print(e)
3 tryで区切ることもできます。 .. 例外... esle
try に含まれるコード ブロックに例外がない場合、else のステートメントが実行され、excpet のコード ブロックは実行されません (このコードは try のみにあります)コード ブロックが例外をスローするとき、例外をキャッチするために例外が使用されます)
try: arr = int(input("请输入一个整数: ")) except BaseException as e: print(e) else: arrs = arr + 111 print(arrs) print("测试结束")
例外処理モジュールについては以上です。例外処理モジュールについて話したいと思います。実用的な用途を除いて、一部のブロガーはいくつかの簡単なケースについて話しますが、一部の学生はこのモジュールをあまり深く理解していない可能性があります。
try: 4 /0 except BaseException as e: print(e) 报错: division by zero
これがゼロによる除算演算であることは明らかですが、なぜ変更しないのでしょうか?あなたが明らかに知っている間違いは何ですか?テストするために意図的にエラーを書き出したからでしょうか?
そこで、考えた結果、楽しい
ログイン パスワードの場合の操作を紹介しました。パスワードが正しく入力されると、ログインが成功したことを示すメッセージが表示されます。パスワードが間違っている場合は、ログインが成功したことを示すメッセージが表示されます。間違った入力が 3 回を超えると、次のプロンプトが表示されます: 「間違った回数を入力しすぎたため、パスワードがロックされました。」
i = 0 while True: if i == 3: print("输入错误次数过多密码已锁定") break try: Divisor = str(input("请输入一个整数: ")) # A = Divisor/1 # B = A+1 #如果输出有误就不会执行加1操作直接跳到 except当中 # print("结果是:",B) mima = 'ma123' if Divisor == mima: i = i+1 print("登录成功,输入%s次"%i) break except: i = i+1 print("密码输入错误请重新输入:") print("登陆了%s次"%i)
これは、「試行...」に関するコードです。ただし... esle" は実用的です。
ヒント パスワードを入力すると、パスワードの内容が適切に暗号化されて結合されます
md5 = [] try: Divisor = str(input("请输入你的密码: ")) except: print("密码输入错误") else: for i in Divisor: if i == 1: i = "a" else: i == 2 i = "b" md5.append(i) MD5 = Divisor + md5[0] print("经过加密后的数据%s"%MD5)
以上がPythonでBaseExceptionステートメントを除くtryを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。