C исключениями отличный вариант, кидайте свой класс исключений, ловите его и отправляйте куда отправляете, для других типов исключений поставьте дополнительный блок. В таких случаях использование goto не есть хорошо, как минимум потому что усложняется чтение кода