下面有两种解决方法,第一种是类似if..else..;另外一种是使用语句来实现继续执行;
方法一:使用try...except...语句,类似于if...else...,可以跳过异常继续执行程序,这是Python的优势
用法如下:
方法二:使用语句来继续执行;
拓展资料
异常处理特点:
1.在应用程序遇到异常情况(如被零除情况或内存不足警告)时,就会产生异常。
2.发生异常时,控制流立即跳转到关联的异常处理程序(如果存在)。
3.如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误信息。
4.可能导致异常的操作通过 try 关键字来执行。
5.异常处理程序是在异常发生时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。
6.程序可以使用 throw 关键字显式地引发异常。
7.异常对象包含有关错误的详细信息,其中包括调用堆栈的状态以及有关错误的文本说明。
8.即使引发了异常,finally 块中的代码也会执行,从而使程序可以释放资源。
使用try...except...语句,类似于if...else...,可以跳过异常继续执行程序,这是Python的优势
用法如下:
try: # 可能会出现异常的一段代码
command_1 # 如果command_1出现异常,则不执行command_1以及之后的语句
command_2 # command_1如果正常,则会执行
except: # try中任意一行语句出现异常,直接跳转至except,程序继续运行
command_3
command_4
# encoding: utf-8
import os
import glob
import shutil
backuptarget = r'E:\backup'
srcpath = r'D:\workspace\Projects\DNCSS\python'
def target_mapper(fullpath):
''' 根据文件名映射目标文件名
path, fname = os.path.split(fullpath)
return os.path.join(backuptarget, fname)
for f in glob.glob(os.path.join(srcpath,'log', '*.log')):
try:
shutil.move(f, target_mapper(f))
except:
continue # 再循环中捕获到异常后要求继续即可