在运行ArcPy程序中,大多数异常都是Python产生的:
这只是一些常见的错误异常,实际上Python还有很多其他的异常类型。在编写代码时,应该注意捕获和处理这些异常,以便更好地调试和处理错误。
当地理处理工具写入错误消息时,ArcPy将生成系统错误。具体而言,当地理处理工具运行失败时,它将引发 ExecuteError 异常,该异常可用于处理特定的地理处理错误。它不是Python内置异常类之一,但它是由ArcPy生成的,因此必须使用 arcpy.ExecuteError
类。
import arcpy
arcpy.env.workspace = "C:/Data"
in_features = "streams.shp"
out_features = "streams.shp"
try:
arcpy.CopyFeatures_management(in_features, out_features)
except arcpy.ExecuteError: # 捕获所有地理处理错误
print(arcpy.GetMessages(2))
except: # 捕获与地理处理无关的任何其他错误
rint("There has been a nontool error.")
由于输入要素类和输出要素类不能相同,“复制要素”工具会生成错误,如下所示:
Failed to execute. Parameters are not valid.ERROR 000725: Output Feature Class: Dataset C:/Data\streams.shp already exists.Failed to execute (CopyFeatures).
在复杂的脚本中,可能很难确定错误的精确位置。您可以使用Python 可以˙使用IDE工具进行调试。traceback
模块来隔离错误的位置和原因。
速度快,不翻墙,五分钟自建服务器,不泄露聊天记录,使用网页版ChatGPT人工智能的方法:低成本拥有一个在国内使用ChatGPT
搜索引擎: