Основни 7.00 може да се върне код за изход (грешка ниво) пакетен файл

Отказ от отговорност за оттеглено съдържание на БЗ

Тази статия е написана за продукти, за които Microsoft вече не предлага поддръжка. Ето защо тази статия се предлага „както е“ и вече няма да бъде актуализирана.

Резюме

MS-DOS пакетна обработка (. BAT) файлове могат да използват "Ако ERRORLEVEL n" декларация за откриване на изход код нива върнати от някои програми.


Обаче само версии на Microsoft Basic, която позволява на програмата да се върне на ниво код на грешка в MS-DOS се Microsoft основни професионално развитие система (PDS) версии 7.00 и 7.10. END n или n декларация за спиране връща грешка ниво n пакетния файл, извикан основни 7.00 или 7.10. EXE програма. Ако ERRORLEVEL n декларация в пакетен файл може да открие ако кодът на върнатите изход е равен или по-голямо от n.


Във всички версии на Microsoft Basic ниво (изход) кода на грешката, върната от програма се контролира от основния модул, средата, не от вашата програма. Като алтернатива можете да създадете файл в основната програма да служи като флаг при възникване на определени условия. Пакетния файл, наречен вашата програма да проверете за наличието на флага файл вместо проверка за ниво на грешка. Пакетни файлове може да се използва командата "Ако СЪЩЕСТВУВА файл".


Следните продукти не позволяват вашата програма да се върне грешка ниво на MS-DOS пакетни файлове:


  1. QuickBasic версии 1.00 1.01, 1.02, 2.00, 2.01, 3.00, 4.00, 4.00b и 4,50 за MS-DOS
  2. Microsoft GW-основни версии 3.23 за MS-DOS, 3.20 и 3.22
  3. Microsoft Basic компилатор версии 5,35 5.36 за MS-DOS и версии 6.00 и 6.00b за MS-DOS и MS OS/2

Допълнителна информация

Вашата основна програма трябва да се опитва да извикате всички MS-DOS прекъсвания (ОБАДЕТЕ се ПРЕКЪСВА) да прекратите програмата с грешка ниво; в противен случай може да възникне странни резултати и машина може да увисне. Основно трябва да обработи прекратяване програма от само себе си.

Основни 7.00 или 7.10 може да връща кода на излизане (ERRORLEVEL) пакетен файл

. EXE програмата компилирани основни 7.00 или 7.10 може да използва n % стоп или края n % декларация да върне код за изход (n %) на MS-DOS, както следва:
   ' TEST.BAS   PRINT "This is a Basic program that returns an exit code of 5."
n% = 5
END n%

Код за изход може да се задържат в MS-DOS пакетен файл с IF ERRORLEVEL n преход отчет, както следва:
   TEST   ECHO OFF
IF NOT ERRORLEVEL 1 GOTO DONE
ECHO An error occurred with exit code 1 or higher.
:DONE
ECHO End of batch file.

Използване на файл като флаг на пакетен файл

Следната техника позволява всяка основна версия просто да или не съобщение да команден файл.


Следните партида файл, ERRT. ПРИЛЕП, се нарича базова програма ERRTST, която хвърля обратно към пакета. То тогава проверява за наличието на файла ERRFIL (който е произволно име) ако Възникна грешка с основна програма:
   echo off   del errfil
errtst
if not exist errfil goto end
echo An error occurred during program running
:end
echo End of batch file

Следният файл е ERRTST. BAS; Това създава файла грешка, ако не може да отвори файла отпадъци. DAT:
' set up to error out if "GARBAGE.DAT" does not existON ERROR GOTO errorlevel
OPEN "garbage.dat" FOR INPUT AS #1
CLOSE #1
END
errorlevel:
CLOSE #1
OPEN "errfil" FOR OUTPUT AS #1 'Create file that acts as a flag
CLOSE #1
SYSTEM ' Returns to DOS.

Да се покаже тази процедура, събират и връзка ERRTST. BAS както следва:
   BC ERRTST.BAS;   LINK ERRTST.OBJ;

Сега стартирайте командния файл ERRT. BAT. Ако основна програма не може да намери отпадъци. DAT, ERRT. BAT показва "грешка по време на програмата работи."
Свойства

ИД на статията: 41533 – Последен преглед: 16.01.2017 г. – Редакция: 1

Обратна връзка