|  |  | Conditions Hierarchy

## Conditions Hierarchy

GOO has a builtin hierarchy of conditions.

`<arithmetic-error>` | `(<error>)` | `C`
`<stack-overflow-error>` | `(<error>)` | `C`
`<keyboard-interrupt>` | `(<error>)` | `C`
| user hit interrupt key. |
`<internal-error>` | `(<simple-error>)` | `C`
| a system fault was detected. |
`<assert-error>` | `(<simple-error>)` | `C`
| an assertion failure occurred. |
`<unbound-error>` | `(<error>)` | `C`
| an binding or property was found to be unbound. |
`<unbound-variable-error>` | `(<unbound-error>)` | `C`
| a binding was found to be unbound. |
`unbound-variable-error-variable` | `(<unbound-variable-error> => <any>)` | `P`
`<property-error>` | `(<error>)` | `C`
`property-error-generic` | `(<property-error> => <any>)` | `P`
| property accessor if available. |
`property-error-owner` | `(<property-error> => <any>)` | `P`
| property owner if available. |
`<property-unbound-error>` | `(<property-error> <unbound-error>)` | `C`
| unbound property was discovered. |
`<property-type-error>` | `(<property-error> <type-error>)` | `C`
| attempt was made to store an invalid object in a property. |
`<property-not-found-error>` | `(<property-error>)` | `C`
| attempt was made to find a missing property, most likely during a call to `new`. |
`<as-error>` | `(<type-error>)` | `C`
| no `as` method was found. |
`<range-error>` | `(<error>)` | `C`
| a key lookup on a collection failed. |
`range-error-collection` | `(<range-error> => <col>)` | `P`
`range-error-key` | `(<range-error> => <any>)` | `P`
`<type-error>` | `(<error>)` | `C`
| a type check has failed. |
`type-error-value` | `(<type-error> => <any>)` | `P`
| returns value on which type check failed. |
`type-error-type` | `(<type-error> => <any>)` | `P`
| returns type on which type check failed. |
`<call-error>` | `(<error>)` | `C`
| an function call failed. |
`call-error-function` | `(<call-error> => <fun>)` | `P`
| returns function on which call failed. |
`call-error-arguments` | `(<call-error> => <fun>)` | `P`
| returns arguments on which call failed. |
`<arity-error>` | `(<call-error>)` | `C`
| wrong number of arguments supplied in function call. |
`<narity-error>` | `(<arity-error>)` | `C`
| too few arguments supplied in nary function call. |
`<unknown-function-error>` | `(<call-error>)` | `C`
| too few arguments supplied in nary function call. |
`<argument-type-error>` | `(<type-error> <call-error>)` | `C`
| invalid argument used function call. |
`<return-type-error>` | `(<type-error> <call-error>)` | `C`
| invalid result returned from function call. |
`<ambiguous-method-error>` | `(<call-error>)` | `C`
| unable to sort applicable methods. |
`<no-applicable-methods-error>` | `(<call-error>)` | `C`
| no methods were applicable. |
`<no-next-methods-error>` | `(<call-error>)` | `C`
| no next-methods were found during a `sup` or `app-sup` call. |
`<incongruent-method-error>` | `(<error>)` | `C`
| a method is incongruent with a generic. |
`incongruent-method-error-generic` | `(<incongruent-method-error> => <gen>)` | `P`
`incongruent-method-error-method` | `(<incongruent-method-error> => <met>)` | `P`
`<cpl-error>` | `(<error>)` | `C`
| unable to find a consistent class precedence list. |
`<io-error>` | `(<error>)` | `C`
| an input/output operation failure. |
`<file-opening-error>` | `(<io-error>)` | `C`
| unable to open a file. |
`file-opening-error-filename` | `(<file-opening-error> => <str>)` | `P`
`<directory-error>` | `(<file-opening-error>)` | `C`
`<compiler-error>` | `(<error>)` | `C`
`<syntax-error>` | `(<compiler-error>)` | `C`
`<macro-error>` | `(<syntax-error>)` | `C`
| a macro expansion failure. |
`<ast-error>` | `(<compiler-error> <simple-error>)` | `C`
| an ast conversion failure. |
`<namespace-error>` | `(<compiler-error> <simple-error>)` | `C`
| a namespace form failure. |

|  |  | Conditions Hierarchy