diff --git a/django/forms/forms.py b/django/forms/forms.py
index 19164aacae..5362fd5aaf 100644
--- a/django/forms/forms.py
+++ b/django/forms/forms.py
@@ -142,7 +142,8 @@ class BaseForm(object):
try:
field = self.fields[name]
except KeyError:
- raise KeyError('Key %r not found in Form' % name)
+ raise KeyError(
+ "Key %r not found in '%s'" % (name, self.__class__.__name__))
return BoundField(self, field, name)
@property
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py
index c05c79a68e..ea2858200c 100644
--- a/tests/forms_tests/tests/test_forms.py
+++ b/tests/forms_tests/tests/test_forms.py
@@ -57,11 +57,11 @@ class FormsTestCase(TestCase):
self.assertHTMLEqual(str(p['first_name']), '')
self.assertHTMLEqual(str(p['last_name']), '')
self.assertHTMLEqual(str(p['birthday']), '')
- try:
+
+ nonexistenterror = "Key u?'nonexistentfield' not found in 'Person'"
+ with self.assertRaisesRegexp(KeyError, nonexistenterror):
p['nonexistentfield']
self.fail('Attempts to access non-existent fields should fail.')
- except KeyError:
- pass
form_output = []