diff --git a/Lib/_pyio.py b/Lib/_pyio.py
index c1cdf43..bbf65bc 100644
--- a/Lib/_pyio.py
+++ b/Lib/_pyio.py
@@ -1286,6 +1286,13 @@
         """
         return None
 
+    @property
+    def errors(self):
+        """Error setting of the decoder or encoder.
+
+        Subclasses should override."""
+        return None
+
 io.TextIOBase.register(TextIOBase)
 
 
@@ -1933,6 +1940,10 @@
         return object.__repr__(self)
 
     @property
+    def errors(self):
+        return None
+
+    @property
     def encoding(self):
         return None
 
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 1337b7c..4405d99 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -2024,6 +2024,12 @@
             with self.open(filename, 'rb') as f:
                 self.assertEquals(f.read(), 'bbbzzz'.encode(charset))
 
+    def test_errors_property(self):
+        with self.open(support.TESTFN, "w") as f:
+            self.assertEqual(f.errors, "strict")
+        with self.open(support.TESTFN, "w", errors="replace") as f:
+            self.assertEqual(f.errors, "replace")
+
 
 class CTextIOWrapperTest(TextIOWrapperTest):
 
diff --git a/Lib/test/test_memoryio.py b/Lib/test/test_memoryio.py
index d94d9dd..0d044e9 100644
--- a/Lib/test/test_memoryio.py
+++ b/Lib/test/test_memoryio.py
@@ -459,9 +459,9 @@
 
         # These are just dummy values but we nevertheless check them for fear
         # of unexpected breakage.
-        self.assertTrue(memio.encoding is None)
-        self.assertEqual(memio.errors, "strict")
-        self.assertEqual(memio.line_buffering, False)
+        self.assertIsNone(memio.encoding)
+        self.assertIsNone(memio.errors)
+        self.assertFalse(memio.line_buffering)
 
     def test_newline_none(self):
         # newline=None
