Kürzeste Fehlermeldung

135

Herausforderung

Schreiben Sie das kürzeste Programm, das beim Kompilieren oder Ausführen eine schwerwiegende Fehlermeldung erzeugt, die kleiner als das Programm selbst ist. Die Fehlermeldung wird möglicherweise nicht vom Programm selbst generiert, z. B. von Python's raise. Eine gültige Antwort muss sowohl den Code als auch die Fehlermeldung enthalten. Kürzeste gültige Antwort gewinnt.

Keine Fehlermeldung zählt nicht als Fehlermeldung.

Beispiel (Lua)

Code (46 Byte):

[
--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Fehler (45 Bytes):

[string "[..."]:1: unexpected symbol near '['
user72528
quelle
Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Dennis
1
@Dennis Ich denke, das ist eine Möglichkeit, das Problem "OP bearbeitet Klärungen nicht in Frage" zu lösen.
Ørjan Johansen
1
Vielen Dank für die Annahme meiner Antwort, die die meisten Stimmen erhalten hat; Dies wurde jedoch mit Code-Golf gekennzeichnet , daher sollten Sie diese Antwort akzeptieren , die die kürzeste ist.
MD XF
@smartpeople ist dies: " __main__.CodeException: Raised an &rror." mein Fehler oder ist dies: " Raised an &rror."
FantaC
TrumpScript läuft in China?
Stan Strum

Antworten:

58

ed , 3 bytes

Hinweis: Die meisten Antworten hier ignorieren die als Teil der Fehlermeldung in ihrer Anzahl ausgedruckte nachgestellte Newline. Aber ich sehe in der Frage nichts, was das Ignorieren rechtfertigen könnte, und der Autor sagte, dass die neue Zeile eingefügt werden sollte . Wenn sich die Frage nicht ändert, werde ich sie einbeziehen.

Code (mit nachfolgender Newline):

??

Fehler (mit nachfolgendem Zeilenumbruch):

?

Anders Kaseorg
quelle
19
Eigentlich ist das unmöglich zu schlagen. : P
totalhuman
1
Kann ed Additions- und Primalitätstests durchführen? Oder ist das für diese Art von Herausforderung nicht erforderlich?
Stephen
4
@StepHen Ja, es können unäre Additions- und Primalitätstests mit dem üblichen Trick "Regex mit Rückverweisen" durchgeführt werden.
Anders Kaseorg
1
Sehr klug, aber "?" ist nicht tödlich.
Mark Plotnick
2
Wie in einem Flag angegeben, ist der Fehler schwerwiegend, wenn der Code nicht von einem Terminal gelesen wird. Probieren Sie es online!
Dennis
59

C (modernes Linux), 19 Bytes

Hätte meinen berühmten Segfault gemacht, aber total menschlich hat er ihn gestohlen.

main(){longjmp(0);}

Ausgabe (18 Bytes):

Segmentation fault
MD XF
quelle
Sie haben derzeit eine höhere Punktzahl als ich, also ... Win-win?
Totalhuman
1
Lassen Sie uns diese Diskussion im Chat fortsetzen .
Dennis
Gibt es kein anderes Gebietsschema mit einer kürzeren Version (damit du sie dann verwenden könntest main(){main();})?
12431234123412341234123
@ 12431234123412341234123 Nicht das ich wüsste. Auch main(){main();}ist nicht zu seg-Fehler garantiert.
MD XF
1
@MDXF Es gibt keine Garantie (und wenn die Optimierung in gcc oder clang aktiviert ist, endet sie in einer Endlosschleife oder ignoriert den Aufruf). Aber bei Code Golf brauchen wir eine funktionierende Implementierung, keine Garantie.
12431234123412341234123
48

Python 2, 35 Bytes

import sys;sys.tracebacklimit=000;a

Gibt Fehler:

NameError: name 'a' is not defined
orlp
quelle
14
Änderung der Traceback-Grenze ... schön ein
HyperNeutrino
1
Das ist schlau!
Skyler
34

JavaScript (Firefox), 31 Byte

# This is a comment, right? ...

Löst diesen Fehler aus:

SyntaxError: illegal character

Getestet in der Konsole von Firefox 54.0.1 unter Windows 7.

ETHproductions
quelle
26

Python 2 , 87 79 Bytes

-8 Bytes dank Zacharý und Erik the Outgolfer.

from __future__ import braces
#i am most surely seriously actually totallyhuman

Probieren Sie es online!

Fehlermeldung, 78 Bytes:

Angenommen, der Code wird in einer Datei mit dem Namen gespeichert a.

  File "a", line 1
    from __future__ import braces
SyntaxError: not a chance

Dies ist eigentlich ein schönes kleines Osterei in Python. : D

total menschlich
quelle
1
Sie können einen Dateinamen mit einem Zeichen annehmen!
Zacharý
1
Unter der Annahme ein 1-char Dateinamen, Sie Golf kann dies .
Erik der Outgolfer
Heh nett - - -
totalhuman
1
Aber die Fehlermeldung muss kleiner sein als das Programm selbst ...
Undichte Nonne
1
Wenn Sie IDLE verwenden, erhalten Sie \s\sFile "<stdin>", line 1\nSyntaxError: not a chancenur 50 Bytes [ \sist ein Leerzeichen und \nein Zeilenumbruch], sodass Sie ein 51-Byte-Programm erhalten können.
Boboquack
20

Haskell, 13 Bytes

main = (main)

Speichern Sie den Namen t.hsoder einen anderen Namen mit einem Zeichen, kompilieren Sie ihn mit ghcund führen Sie ihn aus. Fehlermeldung (mit nachfolgender Newline):

t: <<loop>>
Anders Kaseorg
quelle
19

Taxi , 38 21 Bytes

Switch to plan "abc".

Produziert:

error: no such label

Probieren Sie es online!

-17 Bytes dank Engineer Toast

Versucht zu "abc" zu wechseln, was nicht existiert. Sie würden [abc]irgendwo haben.

Stephen
quelle
4
Sie können mit dem Switch to plan "abc".Produzieren bis zu 21 Bytes erreichen error: no such label. Dies könnte eine der wenigen Code-Golf- Herausforderungen sein, bei denen Taxi einige traditionelle Sprachen schlägt.
Ingenieur Toast
@EngineerToast danke, habe nicht daran gedacht.
Stephen
18

> <> 26 Bytes

>>>>>>>>>>>>>>>>>>>>>>>>>:

Probieren Sie es online!

Jede Fehlermeldung in "Fisch" ist "Fisch". something smells fishy...Dadurch wird der Zeiger nur so oft nach rechts bewegt, bis er länger ist, und es wird versucht, den oberen Teil des Stapels zu duplizieren, der zu diesem Zeitpunkt leer ist.

HyperNeutrino
quelle
2
Ich mag es, und es ist definitiv die faulste aller Lösungen :-)
Xan-Kun Clark-Davis
@ Xan-KunClark-Davis seufzt Sie müssen ...: P
HyperNeutrino
18

JavaScript (Firefox), 21 Byte

(a=null)=>a.charAt(1)

Fehler (20 Bytes) :TypeError: a is null

Oliver
quelle
2
D'oh! Ich wusste, dass es eine kürzere gibt ...
ETHproductions
Ich hatte die gleiche Idee, kam mit a = null; a.x01234567890 Gleiche Anzahl von Bytes
RuteNL
16

System V-Shell, 25 Byte

mount /dev/hda1 /mnt/hda1

Fehlermeldung (23 Bytes):

mount: not a typewriter

"Keine Schreibmaschine" oder ENOTTYist ein errno.hauf Unix-Systemen definierter Fehlercode . Dies wird verwendet, um anzuzeigen, dass in einem ioctl-Systemaufruf eine ungültige ioctl-Nummer (Eingabe- / Ausgabesteuerungsnummer) angegeben wurde. Auf meinem System in /usr/include/asm-generic/errno-base.hkann ich diese Zeile finden:

#define ENOTTY          25      /* Not a typewriter */

In Version 6 UNIX und älter war die E / A auf seriell angeschlossene Endgeräte beschränkt, z. B. auf einen Teletyp (TTY). Diese wurden normalerweise über die Systemaufrufe gttyund sttyverwaltet. Wenn man versuchen sollte, einen dieser Systemaufrufe auf einem Nicht-Endgerät zu verwenden, ENOTTYwurde generiert.

Heutzutage besteht natürlich keine Notwendigkeit, einen Fernschreiber zu verwenden. Wann gttyund durch sttywelche ersetzt wurde ioctl, ENOTTYwurde beibehalten. Einige Systeme zeigen diese Meldung weiterhin an. aber die meisten sagen stattdessen "unangemessenes ioctl für Gerät".

MD XF
quelle
Bitte erklären Sie ...
Mega Man
@ MegaMan Aktualisiert mit Erklärung.
MD XF
1
Upvote für eine wirklich aufschlussreiche Erklärung.
Xan-Kun Clark-Davis
11

QBasic, 11 Bytes

Es gibt zwei Lösungen mit 11 Bytes in QBasic, von denen eine möglicherweise weiter verbessert wird. Die kürzeste Fehlermeldung, die QBasic hat overflow, kann folgendermaßen ausgelöst werden:

i%=i%+32677

Dies wird ausgelöst, overflowweil das Maximum für eine Ganzzahl ( i%) ist 32676. 32677Ohne das automatische Casting von QBasic hätte ich nicht lange Golf spielen können ...

Ein weiterer Fehler bei 11 Bytes wäre out of data. QBasic verfügt über DATAAnweisungen, die Daten im Programm speichern, auf die später von READAnweisungen zugegriffen werden kann . Das Ausgeben von mehr READs als DATAs verursacht den Fehler:

READ a$ '--

Beachten Sie, dass die Anweisung mit einem Kommentar aufgefüllt ist, um sie an die Länge der Fehlermeldung anzupassen. Ja, ich habe eine Fehlermeldung mit einem kürzeren Programm und ein Programm mit einer kürzeren Fehlermeldung ...

steenbergh
quelle
11

C (Modern Linux), 19 Bytes

Ich schlug dies im Chat vor, aber niemand ergriff die Gelegenheit. : P Dank an MD XFs witzige Antwort .

main(){puts('s');;}

Fehlermeldung, 18 Bytes

Segmentation fault
total menschlich
quelle
1
Aber die Fehlermeldung muss kleiner sein als das Programm selbst ...
Undichte Nonne
Byte-Zählungen waren durcheinander, meine schlechte.
Totalhuman
9
Dies ist eine generische Meldung, die von der Shell ausgegeben wird, wenn der Unterprozess mit dem Beendigungscode 139 beendet wird. Das C-Programm selbst gibt überhaupt keine Fehlermeldung aus.
Dennis
7
@ Tennis Exit Code 139 ist eigentlich eine andere Lüge, die von der Shell erfunden wird. Unix unterscheidet zwischen Signal 11 ( W_EXITCODE(0, 11) == 11) und Exit-Code 139 ( W_EXITCODE(139, 9) == 139 << 8). Muscheln setzen $?nicht-surjektiv auf WIFEXITED(wstatus) ? WEXITSTATUS(wstatus) : WTERMSIG(wstatus) + 128, aber die meisten Sprachen machen den Unterschied deutlich.
Anders Kaseorg
2
@Anders WIFEXITED(wstatus)Entspricht das DIVORCE(alimony)zufällig?
Janus Bahs Jacquet
11

Javascript (V8), 24 Byte

decodeURIComponent('%');

Fehler, 23 Bytes:

URIError: URI malformed

Getestet auf Nodejs v6.11.0 und Google Chrome v59.0.3071.115 .

Probieren Sie es online!

Beachten Sie, dass TIO die Fehlermeldung erweitert.

Max Sinev
quelle
5
Willkommen bei PPCG!
Stephen
11

TrumpScript , 30 Bytes

We love NATO!
America is great

Fehlermeldung:

Trump doesn't want to hear it
Timtech
quelle
3
PS Fehlercodes sind in constants.py
Timtech
10

PowerShell , 215 189 Byte

[]
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

Probieren Sie es online!

PowerShell hat also ... ausführliche ... Fehlermeldungen. Darüber hinaus handelt es sich bei den meisten Nicht-Syntax-Fehlermeldungen um Laufzeit-Ausnahmen, was bedeutet, dass sie nicht schwerwiegend sind, wodurch sich das Problem darauf reduziert, dass ein kurzer Analysefehler gefunden werden muss.

Ich denke, dies ist einer der kürzesten, wenn nicht der kürzeste. @TessellatingHeckler hat gezeigt, dass dies der kürzeste Parsing-Fehler ist, und er wiegt 188nur für die Fehlermeldung immer noch Byte. Wir müssen also im Grunde genug 1s anhängen , um 189Bytes von "Code" zu erreichen .

Wenn Sie dies beispielsweise lokal c:\a.ps1ausführen, wird die Anzahl der Bytes um eine Handvoll verringert, da es sich nur um einen kürzeren Dateipfad handelt, der jedoch in TIO nicht verfügbar ist.

Erzeugt Fehler:

At /tmp/home/.code.tio.ps1:1 char:2
+ []
+  ~
Missing type name after '['.
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : MissingTypename
AdmBorkBork
quelle
In den Kommentaren wurden mir drei Fragen gestellt, von denen eine Sie gestellt haben, aber die beiden, die Sie nicht gestellt haben, galten für Ihre und nicht für Ihre Antwort.
User72528
@ user72528 Ja, das fand ich auch amüsant.
AdmBorkBork
Sie können einen Dateinamen mit einem Zeichen verwenden!
Zacharý
1
@ Zacharý Ich kann, aber dann ist es auf TIO nicht reproduzierbar, weil TIO mit dem Sandboxing umgeht. Ich halte es lieber für TIO, als ein paar Bytes zu sparen.
AdmBorkBork
2
Was ist mit dem, []was wie ein kürzerer Fehler aussieht Missing type name after '['und je nachdem, wie Sie genau zählen, könnte es ungefähr 190 sein - tio.run/##K8gvTy0qzkjNyfn/PzqWy3Dogv//AQ (entnommen aus den Parser-Zeichenfolgen hier , die für mich wie der kürzeste Parser-Fehler aussehen ([xml](gc .\ParserStrings.resx)).root.data.value | sort { $_.length } -Desc).
TessellatingHeckler
9

Commodore 64 Basic, 15 Byte

?SYNTAX   ERROR

Produziert

?SYNTAX  ERROR

(Beachten Sie zwei Leerzeichen in der Fehlermeldung, wo das Programm drei hat)

?SYNTAX ERRORDies ist ?VERIFY ERRORdie drittkürzeste Fehlermeldung, die C64 Basic erzeugen kann, und die kürzeste, die zuverlässig durch Code ausgelöst werden kann (die kürzeste Meldung BREAK IN 1erfordert Benutzerinteraktion, während ?LOAD ERRORein defektes Band oder eine defekte Diskette ?VERIFY ERRORerforderlich ist und das Vorhandensein von erforderlich ist) eine Diskette oder ein Band mit einer Datei, die nicht mit dem Programm im RAM übereinstimmt).

Kennzeichen
quelle
1
Ha, das habe ich nicht mal gesehen, als ich meins gepostet habe . Es ist immer gut, einen anderen BASIC-Benutzer zu sehen ... +1
MD XF
8

R , 29 28 Bytes

-1 Byte dank JarkoDubbeldam

a #abcdefghijklmnopqrstuvwxy

Löst den Fehler aus, Error: object 'a' not foundder 27 Byte beträgt.

Probieren Sie es online!

Giuseppe
quelle
2
a #abcdefghijklmnopqrstuvwxyDer Fehler Error: object 'a' not foundist ein Byte kürzer.
JAD
@ JarkoDubbeldam danke.
Giuseppe
7

Ruby ( 33 32 Bytes)

32 Bytes

&
#abcdefghijklmnopqrstuvwxyz12

Löst den Fehler aus (vorausgesetzt, in einer Datei mit dem Namen "a"):

31 Bytes

a:1: syntax error, unexpected &

Edit : Rasiert ein Byte aus mit &anstelle von <<Dank an Eric , der auch mit einer noch kürzeren Ruby-Lösung kam: einbrachte http://codegolf.stackexchange.com/a/135087/65905

Ameketa
quelle
1
Willkommen bei PPCG!
Martin Ender
@EricDuminil schön! Ich dachte, dass alle einzelnen Zeichenoperatoren in der Fehlermeldung in Anführungszeichen stehen, aber Sie haben Recht: &nicht. Ordentlich! Auch gut mit dem Hex Flucht zu finden. Ich hatte Mühe, eine kürzere und nicht stapelbare Fehlermeldung zu finden, die sich von einem Syntaxfehler unterscheidet.
Ameketa
@ameketa: Ich habe tatsächlich ein Bruteforce-Programm geschrieben und jedes mögliche 1, 2 und 3-Byte-Ruby-Programm getestet: D Danke für den Link.
Eric Duminil
5

Brainf ** k, 17 Bytes, dieser Interpreter

+++++++++++++++<<

Brainf ** k ist eine so einfache Sprache, dass fast jeder Dolmetscher eine andere Fehlermeldung hat. Diese Option wird verwendet, Memory Error: -1wenn der Zeiger zu stark nach links bewegt wird und Sie einen anderen Vorgang versuchen

HyperNeutrino
quelle
Ich denke, die Auswahl eines Dolmetschers gehört ebenso zur Herausforderung wie die Auswahl einer Sprache.
User72528
@ user72528 Nun, hier definieren wir eine Sprache durch ihren Interpreter. Bei dieser Herausforderung geht es darum, den Interpreter mit den kürzesten Fehlermeldungen
auszuwählen
1
Wer schlägt Brainfuck? Niemand? In Ordung.
Erik der Outgolfer
Die unschlagbare Lösung wäre eine Zwei-Byte-Lösung, die einen Fehler von 1 Zeichen verursacht.
Zacharý
@ Zacharý Sicherlich lol
HyperNeutrino
5

Common Lisp , 20 Bytes

(/ 1 0))))))))))))))

Probieren Sie es online!

Fehlermeldung

/: division by zero
Cheldon
quelle
11
o_o unausgeglichene Klammern in Lisp ... Sie lernen jeden Tag etwas Neues.
Zacharý
1
Wenn Sie die 0 durch 1 ersetzen, tritt ein Fehler in den Parens auf, aber es kommt nicht so weit mit 0. Ich musste nur Zeichen hinzufügen, um länger als die Nachricht zu sein
Cheldon
5

TryAPL, 11 Bytes

Code (11):

'abcdefghij

Fehler (10):

open quote
Zacharý
quelle
5

Javascript (Firefox), 29 27 Bytes

new Date('-').toISOString()

wirft RangeError: invalid datedas ist 24 Bytes. Getestet unter Firefox 54.0.1 unter Windows 10.

SuperStormer
quelle
5

ZX Spectrum Basic, 9 Byte

RUN USR 8

produziert:

Fehlermeldung

Erläuterung:

Ich zähle (ausnahmsweise) die ASCII-Darstellung des Programms für Längenzwecke, einschließlich des Zeilenendes (das ist nicht wirklich wichtig, da wir immer ein kürzeres Programm mit Leerzeichen füllen könnten).

Normalerweise sind ZX Spectrum-Fehlermeldungen länger und hilfreicher - die ROM-Routine bei 0x0008 erwartet einen Fehlercode nach dem Aufruf des Maschinencodes an RST 8. Und ruft ein zufälliges (deterministisches) Byte aus dem ROM ab, das diese unsinnige Fehlermeldung erzeugt M. 5ist die Fehlernummer, ,wird von der Fehlerdruckroutine hinzugefügt und 0:1ist die Zeile: Befehlsposition des Fehlers.

Radovan Garabík
quelle
Eigentlich sind dies normalerweise sowieso 9 Bytes, da das ZX Spectrum zur Laufzeit keine Zahlen auswertet. Es gibt also 6 versteckte Bytes, mit denen es direkt auf die Binärdarstellung von 8 zugreifen kann.
Neil
4

Perl 5 , 5 Bytes

die$/

Gibt eine neue Zeile für ein Byte aus.

Probieren Sie es online!

aschepler
quelle
._. Nun ... wenn nur Perl-Fehler auf die leere Datei!
Zacharý
4
Warten Sie, ist dies eine Verletzung der "möglicherweise nicht vom Programm selbst generiert werden"? Ich habe nicht verstanden, was diese Regel besagt.
Aschepler
1
@ Zacharý ... eine Fehlermeldung mit negativer Gesamtlänge geben?
Aschepler
1
Dies könnte ungültig sein ... oder nicht, hängt davon ab, ob das OP den Fehler oder die Fehlermeldung bedeutete
Zacharý
^ Klarstellung: ob ein Programm Fehler direkt oder eine Fehlermeldung direkt erstellt
Zacharý
4

Perl 5 , 11 Bytes

Da mir nicht klar ist, ob meine andere Antwort den Herausforderungsregeln entspricht, ist hier eine andere Alternative.

#line 0
die

Fehlerausgabe:

Died.

Mit einer abschließenden Newline für 6 Bytes.

Probieren Sie es online!

Aus irgendeinem Grund enthält die interne Funktion des Perl-Interpreters Perl_mess_sv:

if (CopLINE(cop))
    Perl_sv_catpvf(aTHX_ sv, " at %s line %" IVdf,
                    OutCopFILE(cop), (IV)CopLINE(cop));

Dabei CopLINE(cop)wird die Zeilennummer des aktuellen Codekontexts abgerufen. Wenn diese Zeilennummer also zu Null ausgewertet wird, überspringt Perl das Hinzufügen des Üblichen " at <filename> line <n>"zur Fehlermeldung.

aschepler
quelle
1
Es scheint mir nicht gültig zu sein. IIRC dieist für das Programm zu beenden .
Sergiol
1
Wie ist das anders als Python raise?
Eric Duminil
Nun, das OP hat sich möglicherweise darauf bezogen, entweder den Fehler oder die Fehlermeldung zu generieren . Ich habe kommentiert, welchen er meinte.
Zacharý
4

ArnoldC , 150 Bytes

IT'S SHOWTIME
HEY CHRISTMAS TREE b
YOU SET US UP 0
GET TO THE CHOPPER b
HERE IS MY INVITATION b
HE HAD TO SPLIT 0
ENOUGH TALK
YOU HAVE BEEN TERMINATED

Probieren Sie es online!

Fehler ist 94 Bytes (einschließlich nachfolgender Newline):

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at code.main(Hello.java)

Erhalten, weil ich das für lustiger halte - Spoiler: Es waren diese blöden Teenager-Scherze.

ArnoldC , 280 Bytes

IT'S SHOWTIME
HEY CHRISTMAS TREE BRBDoorBetterNotBeThosePeskyTeenagePranksters
YOU SET US UP 0
GET YOUR ASS TO MARS BRBDoorBetterNotBeThosePeskyTeenagePranksters
DO IT NOW
I WANT TO ASK YOU A BUNCH OF QUESTIONS AND I WANT TO HAVE THEM ANSWERED IMMEDIATELY
YOU HAVE BEEN TERMINATED

Pseudocode:

start program
new variable
set to 0
set new variable to output from function
call function
take input
end program

Probieren Sie es online!

Erzeugt einen Fehler "keine Eingabe". (Fast alle anderen Fehler in ArnoldC enthalten ein großes Stück Kesselschild):

279 Bytes (einschließlich nachfolgender Newline):

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
    at code.main(Hello.java)
TemporalWolf
quelle
4

TI-Basic, 9 Bytes

Shortest Fehlermeldungen sind jeweils 8 Bytes: ERR:DATE, ERR:MODE, ERR:STAT, und ERR:ZOOM. Ich habe nicht darüber nachgedacht, ERR:DATEweil das bei Modellen ohne interne Uhr nicht funktioniert. Ich habe mich auch nicht dafür entschiedenERR:ZOOM weil es zu schwer zu lösen schien.

Programm (9 Bytes):

Seq:DrawInv X:::::

Fehlermeldung: ERR:MODE(8 Bytes)

Programm (9 Bytes):

median({1},{0::

Fehlermeldung: ERR:STAT(8 Bytes)

Timtech
quelle
3

Ruby, 25 Bytes

Das war eine lustige Übung, danke! Es gibt wahrscheinlich eine Möglichkeit, mit einem SegFault eine kürzere Fehlermeldung zu erhalten, aber ich konnte keine finden.

/\x
# Invalid hexa regexp

Fehlermeldung:

a:1: invalid hex escape

24 Bytes, einschließlich einer nachgestellten Newline.

Probieren Sie es online!

Ruby, 26 Bytes

Hier ist meine vorherige Antwort:

08
# No 8 allowed in octal

Fehlermeldung:

a:1: Invalid octal digit

25 Bytes, einschließlich einer nachgestellten Newline.

Eric Duminil
quelle
Ich denke, Sie sollten Ihre Antworten trennen.
Solomon Ucko
@SolomonUcko: Irgendein Grund warum? Es gibt bereits viele Antworten. Ich wollte nur eine Spur meiner vorherigen Antwort hinterlassen. Die Anzahl der Bytes wird in der Regel nur mit <s> 26 </ s> 25 bearbeitet, es kommt jedoch häufig zu geringfügigen Änderungen.
Eric Duminil
Eigentlich bin ich mir nicht sicher, warum ich das gesagt habe, also vergiss es.
Solomon Ucko
3

C ++ (auf MacOS High Sierra Beta), 23 Zeichen

int main(){*(int*)0=0;}

Ausgabe: (22 Zeichen)

Segmentation fault: 11

Ich erinnere mich nicht, ob frühere Versionen von macOS die traditionellere Segmentation fault (core dumped)Antwort liefern , aber es ist ziemlich trivial, Leerzeichen zum Code hinzuzufügen, um das auszugleichen.

flauschige
quelle