Я пишу функцию, которая проверяет наличие брокерских ссылок в буфере режима org:
(setq urls '("http://google.com" "http://bing.com" "http://www.yahoo.com" "http://thisdoesntexist.net"))
(while (setq nextlink (car urls))
(if (url-http-file-exists-p nextlink)
(message "Link works: %s" nextlink)
(message "Broken Link found: %s" nextlink))
(setq urls (cdr urls)))
Это работает, за исключением случаев, когда он встречает несуществующий веб-сервер. Затем он выдает ошибку lisp и открывает буфер backtrace .
Я хотел бы сначала проверить, существует ли сервер, и если да, то использовать url-http-file-exist-p для проверки конкретного документа.
Спасибо
- Отредактировано, чтобы добавить решение, которое работает для меня. Спасибо, Дов!
(while (setq nextlink (car urls))
(condition-case nil
(if (url-http-file-exists-p nextlink)
(message "Link works: %s" nextlink)
(message "Broken Link found: %s" nextlink))
((error) (message "Server not found: %s" nextlink)))
(setq urls (cdr urls)))