第五章练习答案
00-exceptions-basics
python
def safe_read_file(filename):
try:
with open(filename, 'r') as f:
return f.read()
except FileNotFoundError:
return "File not found"
except PermissionError:
return "Permission denied"01-raising-and-custom
python
class ValidationError(Exception):
pass
def validate_email(email):
if '@' not in email:
raise ValidationError("Invalid email")02-context-managers
python
from contextlib import contextmanager
@contextmanager
def database_connection(db_name):
conn = connect(db_name)
try:
yield conn
finally:
conn.close()回到第五章概览