Как Вы отлаживаете Clojure в NetBeans IDE?

string s = (string)o; // 1

Броски InvalidCastException, если o не string. Иначе, присваивается o к s, даже если o null.

string s = o as string; // 2

Присваивается null к [1 110], если o не string или если o null. Поэтому Вы не можете использовать его с типами значения (оператор никогда не мог возвращаться null в этом случае). Иначе, присваивается o к [1 117].

string s = o.ToString(); // 3

Причины NullReferenceException, если o null. Присваивает любой o.ToString() возвраты к [1 121], неважно, каков тип o.

Использование 1 для большинства преобразований - это просто и просто. Я склоняюсь к почти никогда использованию 2 с тех пор, если что-то не будет правильным типом, я обычно ожидаю, что исключение произойдет. Я только видел потребность в этом пустом возвратом типе функциональности с плохо разработанными библиотеками, которые используют коды ошибки (например, пустой указатель возврата = ошибка, вместо того, чтобы использовать исключения).

3 не бросок и просто вызов метода. Используйте его для того, когда Вам будет нужно строковое представление нестрокового объекта.

8
задан unj2 19 July 2009 в 03:23
поделиться

1 ответ

Используя плагин enclojure , я могу установить точку останова в редакторе, а затем запустить отладчик внутри Netbeans. Точки останова Java в проекте срабатывают, однако точки останова clojure завершаются ошибкой, например:

Не удалось отправить точку останова LineBreakpoint defpackage.clj: 8, причина: информация о номере строки отсутствует в файле класса com.yourcompany.defpackage.

Invalid LineBreakpoint defpackage.clj: 8

Глядя на сайт, можно предположить, что поддержка отладки может быть еще не полностью доступна.

2
ответ дан 6 December 2019 в 01:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: