diff --git a/kwant/builder.py b/kwant/builder.py index 150ccb0185da1a1f88e4496a9cf113984a8873ab..cbe061b8568818541a3be8b55f792de96e71a590 100644 --- a/kwant/builder.py +++ b/kwant/builder.py @@ -584,7 +584,7 @@ class Builder(object): for h, value in edges(self.H[tail]): if h == head: return value - raise KeyError(edge) + raise ValueError(tail, head) def _set_edge(self, tail, head, value): hvhv = self.H[tail] @@ -600,10 +600,7 @@ class Builder(object): def _del_edge(self, tail, head): hvhv = self.H[tail] heads = hvhv[2::2] - try: - i = 2 + 2 * heads.index(head) - except ValueError: - raise KeyError(edge) + i = 2 + 2 * heads.index(head) del hvhv[i : i + 2] def _out_neighbors(self, tail): @@ -664,7 +661,7 @@ class Builder(object): try: a, b = sym.to_fd(ts(a), ts(b)) value = self._get_edge(a, b) - except KeyError: + except ValueError: raise KeyError(hoppinglike) if value is other: if not sym.in_fd(b): @@ -764,7 +761,7 @@ class Builder(object): assert not self.symmetry.in_fd(neighbor) a, b = tfd(neighbor, site) self._del_edge(a, b) - except KeyError: + except ValueError: raise KeyError(sitelike) del self.H[site] @@ -787,7 +784,7 @@ class Builder(object): b, a = sym.to_fd(b, a) assert not sym.in_fd(a) self._del_edge(b, a) - except KeyError: + except ValueError: raise KeyError(hoppinglike) def __delitem__(self, key):