Analysiere den folgenden Python-Code, benenne seine Schwächen und schreibe ihn robust und wartbar um. Gib danach eine kurze Begründung der wichtigsten Änderungen und ein paar pytest-Beispieltests. ```python import sqlite3 conn = sqlite3.connect('users.db') def get_user(name): cur = conn.execute("SELECT * FROM users WHERE name = '" + name + "'") return cur.fetchone() def add_user(name, age): try: conn.execute("INSERT INTO users VALUES ('" + name + "', " + str(age) + ")") conn.commit() except: pass ``` Achte besonders auf: SQL-Injection, Fehlerbehandlung, Ressourcen-/Verbindungsmanagement und Testbarkeit.