Имитация уровня ошибки

Имитация уровня ошибки

Моя команда выполняется долго, но я ожидаю, что она может завершиться с ошибкой, и я хочу, чтобы в этом случае в пакетном цикле произошел быстрый сбой. Как мне получить уровень ошибки?

Я попробовал пакетный файл с exit 1. Но он закрывает родительский скрипт независимо от того, вызван ли он с помощью call raise_error.batили просто raise_error.

Я также пробовал cmd /c exit 1. Это не закрывает родительский скрипт, а следует за ним if errorlevel 0 goto exitи if errorlevel 1 goto exitоба ветвятся для выхода. Ранний выход не выполняется в случае if errorlevel 2 goto exitили любого большего числа. Как это вообще возможно? Я имею в виду, как у меня могут быть два уровня ошибок одновременно? Разве значения одной переменной не являются взаимоисключающими?

Как мне ввести код выхода ошибки?

Связанный контент