In Modules/_lsprof.c (lines 821-823), when sys.monitoring.use_tool_id() fails, PyErr_Format unconditionally replaces the real exception with a generic ValueError.
Remove the PyErr_Format call and let the original exception propagate.
import cProfile
p1 = cProfile.Profile()
p1.enable()
p2 = cProfile.Profile()
try:
p2.enable() # ValueError: "Another profiling tool is already active"
except ValueError as e:
print(f"Generic message masks real error: {e}")
finally:
p1.disable()