Обработка nmake ошибок / кодов возврата
У меня есть проект на основе nmake, который в свою очередь вызывает компилятор asp, который может выдать ошибку, которую nmake, похоже, распознает:
NMAKE : fatal error U1077: 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe' : return code '0x1'
Однако, когда я вызываю nmake из пакетного файла, переменная среды%ERRORLEVEL% остается равной нулю:
nmake /NOLOGO
echo BUILD RETURNING: %ERRORLEVEL%
Если я контролирую задачу nmake, я получаю ненулевой ERRORLEVEL (он установлен в 2), поэтому я предполагаю, что я могу ловить ошибки в порядке, но nmake не всплывает ненулевой код выхода из его задачи. Или, по крайней мере, я ошибаюсь. Любая помощь будет оценена.
2 ответа
Прежде всего, пожалуйста, опубликуйте свой пакетный файл, чтобы мы могли видеть, как вы улавливаете ошибку.
Также прокомментируйте этот пост, чтобы я мог прочитать его снова.
Как первый мерзавец, я бы предположил что-то вроде:
nmakebatch.cmd обычные аргументы nmake, без /NOLOGO
@echo off
rem Args[x]: nmake arguments
echo.>> %~n0.log
echo %date% %time%>> %~n0.log
echo nmake /NOLOGO %*>> %~n0.log
nmake /NOLOGO %*
echo %errorlevel%>> %~n0.log
Это начало для перехвата всех ситуаций, в журнале приращения при построении.
Ты должен использовать exit /b %errorlevel%
в вашем пакетном скрипте это передаст код возврата обратно в nmake