Проблема
Многие используют Try::Tiny. Все в этом модуле хорошо, только не хватает вот чего-то вроде:
try {
die Class1->new();
}
catch('Class1') {
# Catch all exceptions of Class1
}
catch('Class2') {
# Catch all exceptions of Class2
}
catch {
# Catch other exceptions
}
К сожалению, сделать такой синтаксис, не убрав "::Tiny" с названия модуля, не так просто. Кроме того, переписывать Try::Tiny вообще нет никакого желания.
Решение 1
Немного подумав я пришел к такому варианту: