The Datahub::Factory::Command::transport module currently contains several nested try...catch blocks, including different ways in which errors are caught, processed or bubble up to an ancestor catch.
Add extra exception classes in an Error.pm module.
Review the try catch blocks we have right now throughout the app.
Review how errors are logged throughout the app. Bubble up exceptions to the least amount of catch blocks we can get away with, instead of spreading catch blocks throughout the app.
The Datahub::Factory::Command::transport module currently contains several nested try...catch blocks, including different ways in which errors are caught, processed or bubble up to an ancestor catch.