Skip to content

第五章练习答案 ​

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()

回到第五章概览

用心记录每一步成长