Пример
@method[command]
^switch[$command]{
^case[add]{
добавляем…
}
^case[delete]{
удаляем…
}
^case[DEFAULT]{
^throw[bad.command;$command;Wrong command $command, good are add&delete]
}
}
@main[]
$action[format c:]
^try{
^method[$action]
}{
^if($exception.type eq bad.command){
$exception.handled(1)
Неправильная команда '$exception.source', задана
в файле $exception.file, в $exception.lineno строке.
}
}
Результатом работы примера будет
Неправильная команда 'format c:', задана
в файле c:/parser3tests/www/htdocs/throw.html, в 15 строке.
Обращаем ваше внимание на то, что пользователи вашего сайта не должны увидеть технические подробности в сообщениях об ошибках, тем более содержащие пути к файлам, это некрасиво и ненадежно.
Вывод
$exception.file дан в качестве примера и настоятельно не рекомендуется к использованию на промышленных серверах - только для отладки.
Содержание раздела