diff --git a/src/robotide/controller/dataloader.py b/src/robotide/controller/dataloader.py index 6e9363933..f34a13095 100644 --- a/src/robotide/controller/dataloader.py +++ b/src/robotide/controller/dataloader.py @@ -100,7 +100,7 @@ def _run(self): if not self.language: try: self.language = lang.check_file_language(self._path) - except Exception: + except (OSError, IOError, UnicodeDecodeError): self.language = 'en' return test_data(source=self._path, settings=self._settings, language=self.language) @@ -120,7 +120,7 @@ def _run(self): if not self.language: try: self.language = lang.check_file_language(self._path) - except Exception: + except (OSError, IOError, UnicodeDecodeError): self.language = 'en' robotapi.FromFilePopulator(result, lang=self.language).populate(self._path) return result diff --git a/src/robotide/spec/libraryfinder.py b/src/robotide/spec/libraryfinder.py index 69029de6e..7bda49ed5 100644 --- a/src/robotide/spec/libraryfinder.py +++ b/src/robotide/spec/libraryfinder.py @@ -171,19 +171,19 @@ def find_install_command(self, name): return [] try: plug = self.global_settings['Plugins'][self.name][name] - except Exception: + except (KeyError, TypeError): plug = None if plug: try: return plug['command'] - except Exception: + except (KeyError, TypeError): pass return [] def parse_command(self, command: list) -> list: try: executable = self.global_settings['executable'] - except Exception: + except (KeyError, TypeError): executable = sys.executable parsed = [] for cmd in command: @@ -205,12 +205,12 @@ def run_install(self, library_name, command): def find_documentation_url(self, name): try: plug = self.global_settings['Plugins'][self.name][name] - except Exception: + except (KeyError, TypeError): plug = None if plug: try: return plug['documentation'] - except Exception: + except (KeyError, TypeError): pass if self._is_std_library(name): if name == "Remote": diff --git a/src/robotide/ui/fileexplorerplugin.py b/src/robotide/ui/fileexplorerplugin.py index 268d82b36..d9228058a 100644 --- a/src/robotide/ui/fileexplorerplugin.py +++ b/src/robotide/ui/fileexplorerplugin.py @@ -335,7 +335,7 @@ def update_tree(self): try: self.tree_ctrl.ExpandPath(self._controller.data.source) self.tree_ctrl.TreeCtrl.EnsureVisible(self.tree_ctrl.TreeCtrl.GetSelection()) - except Exception: + except (RuntimeError, AttributeError): pass # self.on_size(wx.EVT_SIZE) self.Refresh() diff --git a/src/robotide/ui/notebook.py b/src/robotide/ui/notebook.py index d25ef8eec..eba72ea9b 100644 --- a/src/robotide/ui/notebook.py +++ b/src/robotide/ui/notebook.py @@ -85,7 +85,7 @@ def on_tab_changing(self, event): oldselect = event.GetOldSelection() try: oldtitle = self.GetPageText(oldselect) - except Exception: + except (wx.wxAssertionError, RuntimeError): oldtitle = "" newindex = event.GetSelection() newtitle = self.GetPageText(event.GetSelection()) diff --git a/src/robotide/utils/eventhandler.py b/src/robotide/utils/eventhandler.py index c57be1e5a..7b0ee7d8d 100644 --- a/src/robotide/utils/eventhandler.py +++ b/src/robotide/utils/eventhandler.py @@ -114,7 +114,7 @@ def _exclude_paths(self): item = os.path.join(item, '') try: self._fs_watcher.RemoveTree(item) - except Exception: + except (OSError, RuntimeError): pass # Remove all files to the monitoring list from wx import FileSystem @@ -134,7 +134,7 @@ def _exclude_paths(self): pass try: self._fs_watcher.Remove(changing_file) - except Exception: + except (OSError, RuntimeError): pass try: file_search = fs.FindNext() @@ -152,7 +152,7 @@ def _exclude_paths(self): pass try: self._fs_watcher.Remove(item) - except Exception: + except (OSError, RuntimeError): pass def exclude_listening(self, path):