«Исключения иногда могут генерироваться в ответ на другие исключения — как преднамеренно, так и по причине новых ошибок в программе. Для поддержки полноценного обнаружения в таких случаях операторам raise также разрешено иметь дополнительную конструкцию from:
raise новое-исключение from другое-исключение
Когда конструкция from используется в явном запросе raise, следующее за from выражение указывает еще один класс или экземпляр для присоединения к атрибуту __cause__ нового генерируемого исключения. Если сгенерированное исключение не перехвачено, тогда интерпретатор Python выводит оба исключения как часть стандартного сообщения об ошибке».
В нашем случае:
Поймано: RuntimeError
Причина: ValueError