Question: Inspired by [this default for IO](http://meta.codegolf.stackexchange.com/a/5330/44713).

The Task
--------

Write a program that, given an input integer `x` between 0 and 255, crashes with exit code `x`.

Restrictions
------------

* You may not call anything which is intended directly for exit code output (`System.exit(x)`, returning from `main`, etc.). Instead, your program must cause an error or crash which will cause, with a probability of 1, the program to exit with the input integer.
	+ In this case, the words "error" and "crash" means that the program caused some fatal unintended exception, wherein a method, operation or otherwise was used incorrectly that caused an irreversible failure.
	+ You may not directly cause the error by throwing it directly. You must cause it by using a method, function, or otherwise whose purpose serves a different function (i.e. attempting to execute a file write to a read-only directory).
* You must have at least two exit codes accounted for in your program.
* Termination of the process with the use of signals is banned. (Reasoning may be found [in this discussion](http://chat.stackexchange.com/transcript/message/34843663#34843663))

Scoring
-------

Your program's score is determined by the number of supported exit codes, where code concision is tiebreaker. The greatest number of supported exit codes wins!

Answer: 
[Python 3](https://docs.python.org/3/), 15 bytes, 2 exit codes
==============================================================

Obviously, this is longer than the [Python 2 solution](https://codegolf.stackexchange.com/a/107203/60919), because in Python 3 we can't take a literal input without calling `eval`. However, we can use string 
comparison techniques interestingly...

```py
1/(input()<'1')

```

Input will be either the string `0` or `1` - if it's 1, the condition evaluates to 0 (false), resulting in an attempt to compute `1 / 0` which obviously crashes (exit code 1). Otherwise, nothing happens, and Python exits with the regular exit code 0.

As far as I'm aware, Python is incapable of crashing with other exit codes.
ZX81 BASIC >255 exit codes - 52 bytes (listing)
===============================================

```
1 INPUT N
2 GOTO 1+(2*(N>0 AND N <=255))
3 PRINT "EXIT CODE ";N
4 RAND USR N

```

Technically, `N` could be any 24 bit floating point number within the range, but we'll assume integers here. Line 2 is equivalent to `IF N>0 AND N <=255 THEN GOTO 3: ELSE GOTO 1` if ZX81 BASIC had `IF/ELSE` in its symbolic instructions.