Votre tâche est simple. Ecrivez un programme qui devrait évidemment générer une erreur au premier abord, soit lors de la compilation ou de l'exécution, mais ne génère pas ou produit une autre erreur non liée. Ceci est un concours de popularité, alors soyez créatif.
196
Réponses:
C ++
Assurez-vous de compiler le code suivant en mode conforme standard (par exemple, pour g ++, utilisez le drapeau -ansi):
Comment ça fonctionne:
la source
Rubis
Toujours fan de celui-ci.
Non
NameError
. x est maintenantnil
.En voici un plus banal qui m’a déjà eu:
Imprime "rien à voir ici."
la source
C?
Code assez normal ici ...
la source
JavaScript
Voilà comment cela fonctionne:
la source
JavaScript
Lorsque je fournissais le code suivant, on me disait souvent: "Ce doit être une faute de frappe! Comment cela peut-il fonctionner?" .
La description ci-dessous a été copiée exactement de l' un des cas récents .
la source
422
..
notation, mais je suis tout à fait désemparé en ce qui concerne la.toString(a freaking argument here?)
notation: P Eh bien, je l'ai déjà compris :)..
est la partie déroutante.frapper
Résultats
Vous pouvez vous attendre à ce que le script ne génère aucune erreur, car il se termine après la première commande. Ce n'est pas.
Vous pourriez vous attendre aux messages d'erreur typiques causés par une bombe fourche en cours en raison de la
for
boucle. Il n'y a pas de bombe à fourche.Vous pouvez vous attendre à ce que bash se plaint de la
maybe
commande manquante ou de l’ensemble des erreurs de syntaxe à l’intérieur duif
bloc. Ça ne va pas.Le seul message d'erreur que le script peut générer se termine par
2: No such file or directory
.Explication
la source
Perl
Source et explication: https://stackoverflow.com/questions/11695110
la source
Java
Aucune pile ne déborde ici; avancer.
la source
CoffeeScript
la source
VBScript
L'
&
opérateur dans VBScript est la concaténation de chaînes, mais quels sont les opérateurs&&
et&&&
? (Rappelez-vous que l'opérateur "et" de VBScript n'estAnd
pas&&
.)Ce fragment de programme est légal VBScript. Pourquoi? Et quelle est la valeur de
x
?la source
Objectif c
Ce n'est pas grave, mais cela m'a surpris en essayant de mettre un lien dans un commentaire:
la source
//
commentaires.C #
la source
C
la source
main
car ilmain
a été placé dans le segment de données, qui n'est pas exécutable. Plaisamment,const int main=195
ne pas tomber en panne (x86) (mais produira un état de sortie des ordures) , car.rodata
par défaut est mis dans le même segment que.text
et est donc exécutable. (const char main[]="1\300\303";
va sortir avec succès! (toujours sur x86))Java
Probablement trop évident.
Quelle?
la source
varargs
n'êtes pas varargs;)\u000d
, il utiliserait une référence à la valeur indéfiniea
.C ++
Pourquoi?
la source
NULL
tant quenullptr
, et les implémentations qui le font (aucune à ma connaissance, mais je les attends) donneront l'erreur de segmentation attendue.Python
la source
print """""""""Python strings don't have to start with the same number of quotes they end with."""""
.JavaScript
Comment ça fonctionne:
la source
NaN
/Inf
comme des valeurs argébriques normales avec des calculs bien définis sur eux). Le matériel FP moderne peut être configuré pour fonctionner dans les deux sens. Langue-agnostique; dommage de ne pas savoir.C ++
Mélanger des trigraphes et des lambdas sans espace peut être assez déroutant et donner l’impression erronée à ceux qui ne sont pas au courant des trigraphes:
Comment ça fonctionne:
la source
int main(){(([](){})());}
pourrait également avoir l’air sympa quand il est déclenché ...[](){}
est une fonction lambda, tout comme[](int a){return a+1;}
une.([](){})()
appelle cette fonction, revenantvoid
si je ne me trompe pas. Le tout(([](){})());
se résume ensuite à(void);
une affirmation qui ne fait rien.main
puis retourne simplement zéro, comme il se doit, sansreturn
déclaration.VBA / VB6
Fractionner une chaîne vide délimitée par des virgules devrait donner un tableau vide. Devrait être une division évidente par zéro erreur, non?
la source
Javascript
Donne: 5
Tandis que:
Donne SyntaxError
Comment ça fonctionne:
la source
HTML
Premier message ici, je ne suis pas sûr de comprendre cela ou non, mais voilà.
la source
.html
extension et que votre serveur Web n'est pas configuré pour analyser des.html
fichiers en tant que PHP?PHP (40 octets)
Voici la réponse que j'ai donnée dans cette question: Programme de contrôle de la folie
L'idée était de créer un code source d'erreurs.
La 1ère erreur à laquelle nous allons penser est une erreur de syntaxe.
Il n'y a pas d'erreur de syntaxe ...
Autre serait que la classe / fonction n'existe pas.
Ça ne va pas si loin ...
Autre serait un temps mort ou un débordement de mémoire, mais encore une fois, cela n'atteint pas ce stade ...
Testez le code ici: http://writecodeonline.com/php/ (supprimez
<?
le au début pour tester).la source
foreach(e()as&$e);
est le cœur de cette solution.e()
est juste de garder le vérificateur de syntaxe en cours et&$e
aprèsas
est la cause de l'échec.VBScript
Les utilisateurs de Visual Basic 6 sauront que
est légal, comme c'est
Mais qu'en est-il
? Il s'avère que c'est légal dans VBScript mais pas dans VB6. Pourquoi?
la source
C
Cela m'a rappelé une erreur que j'ai rencontrée lorsque j'ai appris C. Malheureusement, la variante d'origine ne semble pas fonctionner avec un GCC actuel, mais celle-ci continue de fonctionner:
Ceci évidemment segfaults parce que nous déréférencons un pointeur nul, non?
C’était la variante originale I que je ne peux plus reproduire:
En outre, ceci est évident si vous savez comment fonctionnent les indicateurs en C, mais peut être surprenant si vous ne le faites pas:
la source
Java
Pourquoi ça marche:
la source
C ++ 11
Compile et s'exécute sans aucun avertissement avec
g++ -pedantic-errors -std=c++11
.la source
VBScript
Ce qu'il fait:
la source
C #
En fait, je me suis surpris à le faire à tort :)
la source
Java
Et comment ça marche:
Et un autre:
la source
enum{
place de laclass{
sauvegarde d'un octet alorsC
Les chaînes et les tableaux en c peuvent être assez déroutants
la source