日度归档:2021年1月7日

Python代码中如何制作一个用户自定义异常呢?


摘要:
下文讲述Python代码中设置一个用户自定义异常的方法分享,如下所示:

实现思路:
   通过新建一个异常类,继承Exception基类,
   使用raise触发异常类,并使用except捕捉异常类

例:

#定义异常类

class Networkerror(RuntimeError):
    def __init__(self, arg):
        self.args = arg

#触发异常类

try:
    raise Networkerror("network error!")
except Networkerror,e:
    print e.args
 

Python代码中如何主动“触发异常”呢?


摘要:
下文讲述Python代码中主动触发异常的方法分享,如下所示:

实现思路:
    Python中在代码中主动触发异常,
  需使用关键raise即可触发相应的异常信息

raise语法信息:
    raise [Exception [, args [, traceback]]]
-------参数说明---------
    Exception:异常类型,如:IOError或其它标准异常中的一种
    args:为异常提供的参数
    traceback:跟踪异常对象

例:

#maomao365.com
#Python代码触发异常的示例

# 定义函数
def funTest(i):
    if i < 0:
        raise Exception("参数i小于0")
        # 触发异常后,后面的代码就不会再执行
try:
    funTest(-1)            # 触发异常
except Exception as err:
    print (-1,err)
else:
    print (1)
    
//输出
-1 参数i小于0
Python之raise触发异常的示例分享

Python之raise触发异常的示例分享

Python代码中如何处理异常处理呢?


摘要:
下文讲述Python代码中处理异常的方法分享,如下所示:

在软件编写中,我们一定要对异常进行处理,
因为一旦程序出现异常,如果不进行处理,则会导致程序终止运行,
那么Python语言中如何处理异常呢?
下文将一一道来,如下所示:

实现思路:
    Python中处理异常使用 try/except语句 即可
 
try: 
  用于检测python代码是否存在运行异常

catch:
  当捕捉到异常后的运行代码

try catch语法:

 
try:
  python代码
except <name1>:
  异常处理代码1        #当try中的代码引发了'name'异常
except <name2>,<数据>:
  异常处理代码2        #当try触发'name2'异常,运行此处代码
else:
  python代码          #未发生异常,运行此处代码

例:
采用 try catch编写的异常捕捉语句

#maomao365.py
 
try:
    fh = open("maomaotest", "w")
    fh.write("maomao365.com测试try catch")
except IOError:
    print "Error: 未获取文件"
else:
    print "内容写入文件成功"
    fh.close() 

例:
捕捉所有异常的处理方法
只需在except后面不跟任何信息,
则可捕捉所有的异常信息

 try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
else:
    当未出现异常时,则运行此处代码

例:
捕捉多个异常信息

 try:
    正常的操作
   ......................
except(Exception1[, Exception2[,...ExceptionN]]]):
    跟踪多个异常,执行这块代码
   ......................
else:
   当未出现异常时,则运行此处代码

例:
try-finally关键字
当运行完异常捕捉后,则运行最后的代码

#test1.py

try:
    fh = open("maomao365.txt", "w")
    try:
        fh.write("这是一个测试文件,用于测试异常!!")
    finally:
        print "关闭文件"
        fh.close()
except IOError:
    print "Error: 没有找到文件或读取文件失败"


或
#test2.py

try:
    fh = open("maomao365.txt", "w")
    try:
        fh.write("这是一个测试文件,用于测试异常!!")
    finally:
        print "关闭文件"
        fh.close()