An error may also be an "exception", which is something that happens unexpectedly. For example, it is an error to try to write more files onto a disk that is full. Careful programmers write code that can deal with errors that may happen; they can do this by labeling each error with an error code and using exception handling. Continuing to run a program when an error has not been dealt with can cause error avalanche, which means errors pile up and behavior becomes more difficult to predict.