Auto CAD

Функция перехвата


Поместите функцию перехвата ошибок непосредственно перед той функцией-командой, к которой она относится.

Давайте добавим функцию обработки ошибок в программу mid.Isp из главы 8. Исходная программа вносила два изменения в системные переменные: значение OSMODE устанавливалось равным 512, a APERTURE— равным 3. Если вы помните, программа в конце достаточно вежливо возвращала системным переменным исходные значения. До тех пор пока программа работала без сбоев, такая система подходила, но, если вы прервете команду до ее окончания, то окажетесь с текущей настройкой объектной привязки только к ближайшей точке. Вот как выглядит функция обработки ошибок для программы, меняющей установки системных переменных OSMODE и APPERTURE.

Эта функция ничего не делает, пока ее не вызовет другая программа. После написания функции обработки ошибок следует поставить ссылку на нее в начале описания функции C:MID, т. е. до того, как значения переменных будут изменены. Чтобы воспользоваться функцией обработки ошибок ErrorMid, добавьте в описание функции C:mid следующие строки:

Настоящие программисты 

Несмотря на то, что я пользуюсь AutoLISP для решения разных проблем в течение многих лет, я не считаю себя настоящим программистом. Все, чего я хочу — чтобы то, что я написал, работало, чтобы я понимал, как я добился этого, и чтобы не было неприятных сюрпризов, когда я в следующий раз открою файл. Если мои программы работают, я счастлив, даже если другие программисты смогут обойтись кодом в два раза короче. Настоящие программисты, напротив, не чужды творческих амбиций. Они стараются писать программы не только как можно эффективнее, но и как можно элегантнее.

Возможно, после того как вы войдете во вкус написания программ, вы захотите стать настоящим программистом. Поэтому я попросил двух профессионалов дать мне советы, которые я передам вам, даже если сам не всегда им следую. Вот несколько советов от Пола Ричардсона (Paul Richardson) и Скотта Дэниса (Scott Danis).

Комментарии закрыты