ой, а расскажи в чём профит кидать исключение таким причудливым образом, а не просто через 
raise DuplicatePackageNameException(packet_name, _context.network_name) ?

И еще я не понял семантику WARNING. Я считал раньше, что WARNING должен ругнуться, что вы пытаетесь добавить пакет с дублирующимся именем, но пакет добавить, а у тебя он ругается на дубликат, пакет не добавляет и exception от программиста прячет - что-то очень и очень странное. То есть логику WARNING'a надо переделать, текущая её реализация очень странна.