py/objexcept: Pretty print OSError also when it has 2 arguments.

This extends pretty-printing of OSError's to handle two arguments when the
exception name is known.

Signed-off-by: David Lechner <david@pybricks.com>
This commit is contained in:
David Lechner
2020-04-08 12:17:28 -05:00
committed by Damien George
parent 41adf17830
commit 58e4d72338
3 changed files with 22 additions and 9 deletions

View File

@@ -12,6 +12,10 @@ print(type(uerrno.EIO))
# check that errors are rendered in a nice way
msg = str(OSError(uerrno.EIO))
print(msg[:7], msg[-5:])
msg = str(OSError(uerrno.EIO, "details"))
print(msg[:7], msg[-14:])
msg = str(OSError(uerrno.EIO, "details", "more details"))
print(msg[:1], msg[-28:])
# check that unknown errno is still rendered
print(str(OSError(9999)))

View File

@@ -1,4 +1,6 @@
<class 'int'>
[Errno ] EIO
[Errno ] EIO: details
( , 'details', 'more details')
9999
uerrno