# 一、什么是异常

  异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 python 的标准异常及异常处理详解戳此

# 二、异常处理

  捕捉异常可以使用 try/except 语句。 try/except 语句用来检测 try 语句块中的错误,从而让 except 语句捕获异常信息并处理。如果不想在异常发生时结束程序,只需在 try 里捕获它。

# 三、语法:

# 3.1 try-except-else

  以下为简单的 try....except...else 的语法:

try:
<语句>        #运行别的代码
except NameError:
<语句>        #如果在 try 部份引发了 'name' 异常,执行此语句
except:
<语句>        #其他类型异常执行此语句
else:
<语句>        #如果没有异常发生

# 3.2 try-finally

   try-finally 语句无论是否发生异常都将执行最后的代码,即便 try 中发生了异常, finally 中的命令也会执行。

try:
<语句>
finally:
<语句>    #退出 try 时总会执行

# 四、自定义异常

  在 Python 中,用户可以通过创建新类来定义此类异常。该异常类必须直接或间接地从 Exception 该类派生。大多数内置异常也是从此类派生的。

# 定义 Python 用户定义的异常
class Error(Exception):
   """其他异常的基类"""
   pass
class ValueTooSmallError(Error):
   """当输入值太小时引发"""
   pass
class ValueTooLargeError(Error):
   """当输入值过大时引发"""
   pass
# 我们的主程序
# 用户猜出一个数字,直到他 / 她猜对为止
# 你需要猜这个数字
number = 10
while True:
   try:
       i_num = int(input("输入数字: "))
       if i_num < number:
           raise ValueTooSmallError
       elif i_num > number:
           raise ValueTooLargeError
       break
   except ValueTooSmallError:
       print("这个值太小,请再试一次!")
       print()
   except ValueTooLargeError:
       print("这个值太大,请再试一次!")
       print()
print("恭喜你! 你猜对了.")
更新于 阅读次数