diff --git a/PVPlantPlacement.py b/PVPlantPlacement.py index 1a03175..dc770b0 100644 --- a/PVPlantPlacement.py +++ b/PVPlantPlacement.py @@ -156,7 +156,7 @@ class _PVPlantPlacementTaskPanel_old: newrack.Placement = placements[idx] group.addObject(newrack) frames.append(newrack) - except: + except (KeyError, TypeError, AttributeError): placements = dataframe[0] frames = [] for idx in placements: @@ -696,7 +696,7 @@ class _PVPlantPlacementTaskPanel_new1: newrack.Placement = placements[idx] group.addObject(newrack) frames.append(newrack) - except: + except (KeyError, TypeError, AttributeError): placements = dataframe[0] frames = [] for idx in placements: @@ -1310,7 +1310,7 @@ class _PVPlantPlacementTaskPanel: self._terrain_interpolator = LinearNDInterpolator( filtered_points[:, :2], filtered_points[:, 2] ) - except: + except Exception: self._terrain_interpolator = None return self._terrain_interpolator @@ -1357,7 +1357,7 @@ class _PVPlantPlacementTaskPanel: z_bot = slope * bot_point.y + intercept else: z_top = z_bot = 0 - except: + except Exception: z_top = z_bot = 0 else: # Fallback to direct projection (slower) @@ -1373,7 +1373,7 @@ class _PVPlantPlacementTaskPanel: z_bot = slope * bot_point.y + intercept else: z_top = z_bot = 0 - except: + except Exception: z_top = z_bot = 0 new_top = FreeCAD.Vector(top_point.x, top_point.y, z_top) @@ -1436,7 +1436,7 @@ class _PVPlantPlacementTaskPanel: try: cut = frame_footprint.cut([self.Area]) return len(cut.Vertexes) == 0 - except: + except Part.OCCError: return False def getAligments(self):