From a9627a81697c265cd5b7b39e6e6a29b06e3924ce Mon Sep 17 00:00:00 2001
From: Christoph Groth <christoph.groth@cea.fr>
Date: Thu, 16 Jan 2014 18:01:31 +0100
Subject: [PATCH] improve error message when a lead is attached to non-existing
 sites

---
 kwant/builder.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/kwant/builder.py b/kwant/builder.py
index 15b303f..b1fa5e4 100644
--- a/kwant/builder.py
+++ b/kwant/builder.py
@@ -1130,7 +1130,14 @@ class Builder(object):
                 msg = 'Problem finalizing lead {0}:'.format(lead_nr)
                 e.args = (' '.join((msg,) + e.args),)
                 raise
-            interface = [id_by_site[isite] for isite in lead.interface]
+            try:
+                interface = [id_by_site[isite] for isite in lead.interface]
+            except KeyError, e:
+                t, v, tb = sys.exc_info()
+                msg = "Lead {0} is attached to a site that does not " \
+                      "belong to the scattering region:\n {1}"
+                raise ValueError(msg.format(lead_nr, v))
+
             lead_interfaces.append(np.array(interface))
 
         #### Assemble and return result.
-- 
GitLab