Ваша задача проста. Напишите программу, которая, очевидно, должна выдавать ошибку на первый взгляд либо при компиляции, либо при запуске, но либо не дает, либо выдает какую-то другую несвязанную ошибку. Это конкурс популярности, так что будьте креативны.
196
Ответы:
C ++
Убедитесь, что вы компилируете следующий код в стандартном режиме соответствия (например, для g ++ используйте флаг -ansi):
Как это устроено:
источник
Рубин
Всегда фанат этого.
Нет
NameError
. х сейчасnil
.Вот более приземленный, который получил меня раньше:
Печатает «здесь ничего не видно».
источник
C?
Довольно нормальный код здесь ...
источник
JavaScript
Вот как это работает:
источник
JavaScript
Когда я предоставлял следующий код, мне много раз говорили: «Это должно быть опечатка! Как это может работать?» ,
Описание ниже было скопировано именно с одного из последних случаев .
источник
422
..
обозначениям, но совершенно ничего не понимаю по поводу.toString(a freaking argument here?)
обозначений: P Ну, ладно, уже понял это :)..
это запутанная часть.удар
Результаты
Вы можете ожидать, что скрипт вообще не выдаст никаких ошибок, поскольку он завершается после первой команды. Это не так.
Вы можете ожидать типичные сообщения об ошибках, вызванные продолжающейся бомбой-форком из-за
for
цикла. Там нет вилочной бомбы.Вы могли бы ожидать, что bash будет жаловаться на отсутствующую
maybe
команду или целую кучу синтаксических ошибок внутриif
блока. Не будетЕдинственное сообщение об ошибке, которое может выдать скрипт, заканчивается
2: No such file or directory
.объяснение
источник
Perl
Источник и объяснение: https://stackoverflow.com/questions/11695110
источник
Ява
Здесь нет переполнения стека; двигаться вперед.
источник
CoffeeScript
источник
VBScript
&
Оператор VBScript является конкатенация , но то , что на земле являются&&
и&&&
операторы? (Напомним, что оператор «и» в VBScript естьAnd
, а не&&
.)Этот фрагмент программы является легальным VBScript. Почему? И какова стоимость
x
?источник
Objective-C
Ничего страшного, но это удивило меня, когда я пытался вставить ссылку в комментарии:
источник
//
комментарии.C #
источник
С
источник
main
посколькуmain
она была помещена в сегмент данных, который не является исполняемым. Забавно, но неconst int main=195
произойдет сбой (на x86) (но будет выдан статус выхода мусора), потому что по умолчанию он помещается в тот же сегмент, что и исполняемый. (.rodata
.text
const char main[]="1\300\303";
Ява
Наверное, слишком очевидно.
Какая?
источник
varargs
не varargs;)\u000d
, он будет использовать ссылку на неопределенное значениеa
.C ++
Почему?
источник
NULL
какnullptr
, а реализации, которые делают это (пока что я не знаю, но я ожидаю их), приведут к ожидаемой ошибке сегментации.питон
источник
print """""""""Python strings don't have to start with the same number of quotes they end with."""""
.JavaScript
Как это устроено:
источник
NaN
/Inf
точно так же, как обычные алгебраические значения с четко определенной математикой на них). Современное аппаратное обеспечение FP может быть настроено для работы в обоих направлениях. Язык агностик; Стыд не знать.C ++
Смешение триграфов и незаполненных лямбд может быть довольно запутанным и определенно выглядит ошибочно для людей, которые не знают триграфов:
Как это устроено:
источник
int main(){(([](){})());}
может также хорошо выглядеть, если ее засекретить ...[](){}
- это лямбда-функция, как и[](int a){return a+1;}
одна.([](){})()
вызывает эту функцию, возвращая,void
если я не ошибаюсь. Тогда все(([](){})());
сводится к тому(void);
, что утверждение ничего не делает.main
затем просто возвращает ноль, как это должно быть безreturn
заявления.VBA / VB6
Разделение пустой строки, разделенной запятыми, должно дать пустой массив. Должно быть очевидное деление на ноль ошибок, верно?
источник
Javascript
Дает: 5
В то время как:
Дает синтаксическую ошибку
Как это устроено:
источник
HTML
Первый пост здесь, я не уверен, получаю это или нет, но здесь идет.
источник
.html
расширение, а ваш веб-сервер не настроен на синтаксический анализ.html
файлов как PHP?PHP (40 байт)
Это был ответ, который я дал в этом вопросе: Insanity Check Program
Идея заключалась в том, чтобы сделать код, который выдает ошибки.
Первая ошибка, о которой мы подумаем, это синтаксическая ошибка.
Нет синтаксических ошибок ...
Другое было бы, что класс / функция не существует.
Это не так далеко ...
Другим будет тайм-аут или переполнение памяти, но, опять же, это не так далеко ...
Проверьте код здесь: http://writecodeonline.com/php/ (удалите
<?
в начале, чтобы проверить).источник
foreach(e()as&$e);
является ядром этого решения.e()
просто для поддержания проверки синтаксиса и&$e
после тогоas
, что является причиной сбоя.VBScript
Пользователи Visual Basic 6 будут знать, что
законно, как есть
Но что насчет
? Оказывается, это законно в VBScript, но не в VB6. Почему?
источник
С
Это напомнило мне об ошибке, с которой я столкнулся, когда узнал C. К сожалению, оригинальный вариант, похоже, не работает с текущим GCC, но этот по-прежнему работает:
Это очевидно segfaults, потому что мы разыменовываем нулевой указатель, правильно?
Это был оригинальный вариант I, который я больше не могу воспроизвести:
Кроме того, это очевидно, если вы знаете, как работают указатели в C, но может удивить, если вы этого не сделаете:
источник
Ява
Почему это работает:
источник
C ++ 11
Компилируется и запускается без каких-либо предупреждений
g++ -pedantic-errors -std=c++11
.источник
VBScript
Что оно делает:
источник
C #
На самом деле я поймал себя на том, что по ошибке сделал именно это :)
источник
Ява
И как это работает:
И еще один:
источник
enum{
вместоclass{
сохранения байтаС
Строки и массивы в c могут быть довольно запутанными
источник