You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recodex-wiki/Exit-Code-Mappings.md

3.0 KiB

Exit Code Mappings

For particular runtime environments ReCodEx can provide mappings of result codes to some custom messages. This is possible for example for Java, C# or Python where there can be custom wrappers/runners which might catch exceptions and then provide users more detailed information about evaluations.

Free Pascal

Actually, the FPC itself returns a specific code when a runtime error is encountered. All exit codes on the runtime errors list are translated into corresponding strings according to FPC documentation: https://www.freepascal.org/docs-html/user/userap4.html

Java

Runner: https://github.com/ReCodEx/utils/blob/master/runners/java/javarun.java

Exit Code Exception Mapping
0 --- OK
1 Throwable Unknown error
2 InvocationTargetException Other invocation target exception
100 OutOfMemoryError Out of memory exception
101 SecurityException Security exception
102 --- Main class not found exception
104 IllegalAccessException Illegal access exception
105 IllegalArgumentException Illegal argument exception
106 StackOverflowError Stack overflow exception
107 ArrayIndexOutOfBoundsException Array index out of bounds exception
108 IndexOutOfBoundsException Index out of bounds exception
109 NullPointerException Null pointer exception
110 ArithmeticException Arithmetic exception
111 OutOfMemoryError Out of memory error
112 SecurityException Security exception
113 IOException IO exception

C#

Runner: https://github.com/ReCodEx/utils/blob/master/runners/cs/Wrapper.cs

Exit Code Exception Mapping
0 --- OK
1 --- User error
101 TargetInvocationException Unhandled exception
102 NullReferenceException Null reference error
103 OutOfMemoryException Memory allocation error
104 IndexOutOfRangeException Index out of range error
105 OverflowException Overflow error
106 IOException IO error
107 FileNotFoundException File not found error
108 InvalidOperationException Invalid operation error
109 DivideByZeroException Division by zero error
200 Exception Internal error
201 --- No main method
202 --- More main methods

Python3

Runner: https://github.com/ReCodEx/utils/blob/master/runners/py/runner.py

Exit Code Exception Mapping
0 --- OK
1 BaseException ???
101 AssertionError ???
102 TypeError ???
103 NameError ???
104 EOFError ???
105 AttributeError ???
106 IOError ???
107 OSError ???
108 LookupError ???
109 ValueError ???
110 ZeroDivisionError ???
111 ArithmeticError ???
112 ImportError ???
113 MemoryError ???
114 SyntaxError ???