【从零学习python 】58.Python中的自定义异常及引发异常的方法

2024-02-29 20:13:07 浏览数 (2)

自定义异常

你可以用 raise 语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是 ErrorException 类的子类。

下面是一个引发异常的例子:

代码语言:javascript复制
class ShortInputException(Exception):
    '''自定义的异常类'''
    def __init__(self, length, atleast):
        self.length = length
        self.atleast = atleast

    def __str__(self):
        return '输入的长度是 %d, 长度至少应是 %d' % (self.length, self.atleast)

def main():
    try:
        s = input('请输入 --> ')
        if len(s) < 3:
            # raise 引发一个自定义的异常
            raise ShortInputException(len(s), 3)
    except ShortInputException as result:
        print('ShortInputException:', result)
    else:
        print('没有异常发生.')

main()

运行结果如下:

补充文件备份

制作文件的备份

输入文件的名字,然后程序自动完成对文件进行备份

参考代码

代码语言:javascript复制
# 提示输入文件
file_name = input("请输入要拷贝的文件名字:")

# 以读的方式打开文件
old_file = open(file_name, 'rb')

# 分割文件名和后缀名
file_names =file_name.rsplit('.', maxsplit=1)

# 组织新的文件名字
new_file_name = file_names[0]   '.bak.' file_names[1]

# 创建新文件
newFile = open(new_file_name, 'wb')

# 把旧文件中的数据,一行一行的进行复制到新文件中
for lineContent in old_file.readlines():
    newFile.write(lineContent)

# 关闭文件
old_file.close()
newFile.close()

0 人点赞