66 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
 | ||
| <html>
 | ||
|   <head>
 | ||
|     <title>bgerror</title>
 | ||
|   </head>
 | ||
|   <body>
 | ||
|     <h1>bgerror</h1>
 | ||
| 
 | ||
|     <p>Команда <strong>bgerror</strong> предназначена для обработки фоновых
 | ||
|       ошибок.</p>
 | ||
|     
 | ||
|     <pre>
 | ||
|       <strong>bgerror</strong> <em>сообщение</em>
 | ||
|     </pre>
 | ||
| 
 | ||
|     <h2>ОПИСАНИЕ</h2> 
 | ||
| 
 | ||
|     <p> В Tcl нет встроенной команды <strong>bgerror</strong>. Если в приложении
 | ||
|       тем не менее необходимо обрабатывать фоновые ошибки,
 | ||
|       пользователь может определить собственную команду
 | ||
|       <strong>bgerror</strong>, например, как Tcl-процедуру.</p>
 | ||
| 
 | ||
|     <p>Фоновые ошибки - это ошибки в командах, которые не вызваны
 | ||
|       непосредственно из приложения. Например, фоновыми являются
 | ||
|       ошибки в командах, вызванных с помощью конструкции
 | ||
|       <a href=after.html><strong>after</strong></a>. Для нефоновых ошибок
 | ||
|       сообщение об ошибке возвращается через вложенные вызовы команд,
 | ||
|       пока не достигнет верхнего уровня приложения. После этого
 | ||
|       приложение выдает сообщение об ошибке в одной из команд верхнего
 | ||
|       уровня. При фоновой ошибке подобный процесс не достигает команд
 | ||
|       верхнего уровня и формирование сообщения об ошибке оказывается
 | ||
|       затруднительным.</p>
 | ||
| 
 | ||
|     <p>Когда Tcl обнаруживает фоновую ошибку, он сохраняет информацию
 | ||
|       об ошибке и вызывает команду <strong>bgerror</strong> с помощью
 | ||
|       обработчика событий. Перед вызовом <strong>bgerror</strong>
 | ||
|       восстанавливаются значения переменных <a href=
 | ||
|       tclvars.html#errorInfo><strong>errorInfo</strong></a> и <a href=
 | ||
|       tclvars.html#errorCode><strong>errorCode</strong></a>, которые были при
 | ||
|       обнаружении ошибки. После этого вызывается команда
 | ||
|       <strong>bgerror</strong> с единственным аргументом - сообщением об ошибке.
 | ||
|       Предполагается, что в приложении определена команда
 | ||
|       <strong>bgerror</strong> и что она выдает сообщение об ошибке надлежащим
 | ||
|       образом. Если при выполнении команды <strong>bgerror</strong> не произошло
 | ||
|       новой ошибки, возвращаемый ею результат игнорируется.</p>
 | ||
| 
 | ||
|     <p>Если при исполнении команды <strong>bgerror</strong> произошла новая
 | ||
|       ошибка (например, если эта команда не существует), сообщение об
 | ||
|       ошибке поступает в канал вывода ошибок.</p>
 | ||
| 
 | ||
|     <p>Если до вызова обработчиком событий команды <strong>bgerror</strong>
 | ||
|       произошло несколько фоновых ошибок, то, как правило, команда
 | ||
|       будет вызвана для каждой из обнаруженных ошибок. Однако, если
 | ||
|       сама команда <strong>bgerror</strong> возвращает код break (см.  описание
 | ||
|       команды <a href=return.html><strong>return</strong></a>),
 | ||
|       последующие ее вызовы пропускаются.</p>
 | ||
| 
 | ||
|     <p>В чисто Tcl-приложениях команда <strong>bgerror</strong> не
 | ||
|       реализована. Однако, в Tk-приложениях определена процедура
 | ||
|       <strong>bgerror</strong>, которая выводит сообщение об ошибке в диалоговое
 | ||
|       окно и позволяет пользователю просмотреть стек, описывающий, где
 | ||
|       именно эта ошибка произошла.</p>
 | ||
|   </body>
 | ||
| </html>
 | ||
| 
 | 
