python - 如何通过处理错误来完成流程?
问题描述
- 这是一个 Python 的一般问题。
我经常遇到拓扑错误,它们非常小,即使它们在那里,我也想继续前进。是否可以为此特定例外:
TopologyException: found non-noded intersection between LINESTRING (229971 4.39944e+06, 229971 4.39944e+06) and LINESTRING (229971 4.39944e+06, 229971 4.39944e+06) at 229971.08857010119 4399438.0928708706
并让它完成整个过程?我正在使用 Python 和 Geopandas。
有时在十字路口它说:
TopologicalError: This operation could not be performed. Reason: unknown
像这样的任何行是否有可能:inte_s=gpd.overlay(data2,asttom,how='intersection')
这会导致此错误创建一个异常并使其执行计算,因为它不会受到将出现的错误的影响?在完成交叉点的这一行中,什么代码会这样做?
解决方案
TopologicalError 需要先导入,然后使用 try...except 语句。
from shapely.geos import TopologicalError
try:
# your code that may raise the exception
except TopologicalError:
# alternative code if the exception is raised
推荐阅读
- ionic-framework - 从我的 inAppBrowser 的网站向 Ionic 应用程序发送消息
- react-native - React Native Promises - 他们不等待
- java - 如何在整数数组中找到所有对,其和等于给定数字
- c++ - boost::interprocess::file_lock 与 std::ostream 一起使用时的错误行为
- android - Android 应用程序在启动后直接崩溃
- angular - 如何在操作文件中使用 entityActionFactory 来自定义 ngrx/data 中的操作?
- python - 如何在 html Django 中管理字典
- php - 哪个是编写用于插入数据的 PHP 代码的更好方法
- android - 在 Android 中设置 Firebase reCAPTCHA 验证程序
- c# - Xamarin.Forms Frame 内容在 Android 中溢出