А что это вообще такое?

Обращаем ваше внимание на то,


@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 дан в качестве примера и настоятельно не рекомендуется к использованию на промышленных серверах - только для отладки.

Содержание раздела