summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrennan Ashton <bashton@brennanashton.com>2018-11-14 18:16:58 -0800
committerMartin Braun <martin.braun@ettus.com>2018-11-15 15:44:05 -0800
commit293708b1cb8bd983cc6a97dd75fa8cb55317095c (patch)
treeaeb3ac0528718e3459309c6021784019c266f205
parent46e7260f8984c27ea752bb83715c770a69a4b606 (diff)
grc: Improve exception handling (bare and unnecessary)
-rw-r--r--grc/converter/flow_graph.py2
-rw-r--r--grc/core/blocks/block.py2
-rw-r--r--grc/core/generator/hier_block.py7
-rw-r--r--grc/core/generator/top_block.py8
-rw-r--r--grc/core/params/param.py2
-rw-r--r--grc/gui/Config.py8
-rw-r--r--grc/gui/Dialogs.py6
-rw-r--r--grc/gui/canvas/block.py5
8 files changed, 19 insertions, 21 deletions
diff --git a/grc/converter/flow_graph.py b/grc/converter/flow_graph.py
index 5b8b54e534..1d013b2f19 100644
--- a/grc/converter/flow_graph.py
+++ b/grc/converter/flow_graph.py
@@ -128,6 +128,6 @@ def _guess_file_format_1(data):
try:
if any(not has_numeric_port_ids(*con) for con in data['connections']):
return 1
- except:
+ except (TypeError, KeyError):
pass
return 0
diff --git a/grc/core/blocks/block.py b/grc/core/blocks/block.py
index 0cb3f61237..c3502397ec 100644
--- a/grc/core/blocks/block.py
+++ b/grc/core/blocks/block.py
@@ -144,7 +144,7 @@ class Block(Element):
try:
if not self.evaluate(expr):
self.add_error_message('Assertion "{}" failed.'.format(expr))
- except:
+ except Exception:
self.add_error_message('Assertion "{}" did not evaluate.'.format(expr))
def _validate_generate_mode_compat(self):
diff --git a/grc/core/generator/hier_block.py b/grc/core/generator/hier_block.py
index cdced796cb..780dee5be3 100644
--- a/grc/core/generator/hier_block.py
+++ b/grc/core/generator/hier_block.py
@@ -52,10 +52,9 @@ class HierBlockGenerator(TopBlockGenerator):
with codecs.open(self.file_path_yml, 'w', encoding='utf-8') as fp:
fp.write(data)
- try:
- os.chmod(self.file_path_yml, self._mode)
- except:
- pass
+
+ # Windows only supports S_IREAD and S_IWRITE, other flags are ignored
+ os.chmod(self.file_path_yml, self._mode)
def _build_block_n_from_flow_graph_io(self):
"""
diff --git a/grc/core/generator/top_block.py b/grc/core/generator/top_block.py
index 3eae13ff68..b5661762c0 100644
--- a/grc/core/generator/top_block.py
+++ b/grc/core/generator/top_block.py
@@ -69,10 +69,7 @@ class TopBlockGenerator(object):
with codecs.open(filename, 'w', encoding='utf-8') as fp:
fp.write(data)
if filename == self.file_path:
- try:
- os.chmod(filename, self._mode)
- except:
- pass
+ os.chmod(filename, self._mode)
def _build_python_code_from_template(self):
"""
@@ -172,7 +169,8 @@ class TopBlockGenerator(object):
code = block.templates.render('make').replace(block.name, ' ')
try:
code += block.params['gui_hint'].get_value() # Newer gui markup w/ qtgui
- except:
+ except KeyError:
+ # No gui hint
pass
return code
diff --git a/grc/core/params/param.py b/grc/core/params/param.py
index 3cd22b152d..ce40025228 100644
--- a/grc/core/params/param.py
+++ b/grc/core/params/param.py
@@ -220,7 +220,7 @@ class Param(Element):
value = self.parent_flowgraph.evaluate(expr)
if not isinstance(value, str):
raise Exception()
- except:
+ except Exception:
self._stringify_flag = True
value = str(expr)
if dtype == '_multiline_python_external':
diff --git a/grc/gui/Config.py b/grc/gui/Config.py
index 8b9bc70b92..28dd737984 100644
--- a/grc/gui/Config.py
+++ b/grc/gui/Config.py
@@ -102,9 +102,9 @@ class Config(CoreConfig):
raw = self._gr_prefs.get_string('grc', 'canvas_default_size', '1280, 1024')
value = tuple(int(x.strip('() ')) for x in raw.split(','))
if len(value) != 2 or not all(300 < x < 4096 for x in value):
- raise Exception()
+ raise ValueError
return value
- except:
+ except (ValueError, TypeError):
print("Error: invalid 'canvas_default_size' setting.", file=sys.stderr)
return Constants.DEFAULT_CANVAS_SIZE_DEFAULT
@@ -114,8 +114,8 @@ class Config(CoreConfig):
font_size = self._gr_prefs.get_long('grc', 'canvas_font_size',
Constants.DEFAULT_FONT_SIZE)
if font_size <= 0:
- raise Exception()
- except:
+ raise ValueError
+ except (ValueError, TypeError):
font_size = Constants.DEFAULT_FONT_SIZE
print("Error: invalid 'canvas_font_size' setting.", file=sys.stderr)
diff --git a/grc/gui/Dialogs.py b/grc/gui/Dialogs.py
index f58ea78ca2..4e1de3de51 100644
--- a/grc/gui/Dialogs.py
+++ b/grc/gui/Dialogs.py
@@ -21,7 +21,7 @@ import sys
import textwrap
from distutils.spawn import find_executable
-from gi.repository import Gtk
+from gi.repository import Gtk, GLib
from . import Utils, Actions, Constants
from ..core import Messages
@@ -272,8 +272,8 @@ def show_about(parent, config):
try:
ad.set_logo(Gtk.IconTheme().load_icon('gnuradio-grc', 64, 0))
- except:
- pass
+ except GLib.Error:
+ log.debug("Failed to set window logo")
#ad.set_comments("")
ad.set_copyright(config.license.splitlines()[0])
diff --git a/grc/gui/canvas/block.py b/grc/gui/canvas/block.py
index 33edf988c2..2f0d057d4f 100644
--- a/grc/gui/canvas/block.py
+++ b/grc/gui/canvas/block.py
@@ -368,7 +368,7 @@ class Block(CoreBlock, Drawable):
new_index = (old_index + direction + len(values)) % len(values)
type_param.set_value(values[new_index])
return True
- except:
+ except IndexError:
return False
def port_controller_modify(self, direction):
@@ -394,7 +394,8 @@ class Block(CoreBlock, Drawable):
if value > 0:
param.set_value(value)
changed = True
- except:
+ except ValueError:
+ # Should we be logging something here
pass
return changed