# List of errors and what they mean

**URL:** <https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390>\
**Category:** New to Julia\
**Tags:** error, error-message\
**Created:** [May 25, 2023, 3:24pm UTC](https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390 "2023-05-25T15:24:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [May 25, 2023, 3:24pm UTC](https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390/1 "2023-05-25T15:24:01Z")

</div>

Is there somewhere where I can see a list of Julia errors, and what they mean? Some are mostly self-explanatory (although it depends on your experience with this kind of stuff!), and some are not. And some might not be part of base and hence hard to list.

E.g. I got a

```julia
ERROR: ArgumentError: Invalid Status

```

and it would be nice to know exactly what a `ArgumentError` is when I try to debug it.

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [May 25, 2023, 3:26pm UTC](https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390/2 "2023-05-25T15:26:50Z")

</div>

An `ArgumentError` is just a means to communicate that the arguments supplied to a function don’t pass some check that is required for the function to give a correct result. This can have lots of reasons, depending on the function, which is usually communicated with a precise error message.

How did you encounter that error/what’s the stacktrace following it? The error message here seems particularly badly written…

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [May 25, 2023, 3:29pm UTC](https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390/3 "2023-05-25T15:29:43Z")

</div>

It was a long list of stuff when I ran an implicit diffeq solver. Something with KLU factorization. It didn’t actually include some of my code in the stack trace which made it messier as well.

---

<div class="post-metadata">

**Author:** ![mikmoore](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikmoore/32/31109_2.png) [@mikmoore](https://discourse.julialang.org/u/mikmoore)\
**Post date:** [May 25, 2023, 4:18pm UTC](https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390/4 "2023-05-25T16:18:51Z")

</div>

You can get a literal list of “all” possible types of errors as `subtypes(Exception)`. You can then use the `help?>` prompt (eg, `?ArgumentError`) to get whatever docstring has been written for an error type. However I imagine most dosctrings are either missing or not very descriptive.

As for your particular `ArgumentError: Invalid Status`, I’ll agree that this message is not very helpful. I cannot know anything without the stacktrace, but I’m guessing it’s being thrown from a package (although `ArgumentError` itself is part of base Julia). I’m guessing there’s an input called `status` or something similar and it got passed an unrecognized value. This doesn’t sound like something that would be directly your fault, but some upstream mistake might have led to it.

One nifty [REPL shortcut](https://docs.julialang.org/en/v1/stdlib/REPL/#Key-bindings) is this. When presented with a stacktrace, such as

```julia-repl
julia> "abcd"[5]
ERROR: BoundsError: attempt to access 4-codeunit String at index [5]
Stacktrace:
 [1] checkbounds
   @ ./strings/basic.jl:216 [inlined]
 [2] codeunit
   @ ./strings/string.jl:117 [inlined]
 [3] getindex(s::String, i::Int64)
   @ Base ./strings/string.jl:238
 [4] top-level scope
   @ REPL[875]:1

```

You can then type a stacktrace index into the prompt (eg `julia> 2` for `codeunit` in the above example) and press `ctrl-q` and it will open your editor (if one is configured) at the corresponding place in the code. This also works for the output of the `methods` function and perhaps a few others.

This can at least help you quickly get to the relevant spot in the code. If you can manage to see what that code is doing, it may be able help you to understand the error in greater depth.

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [May 25, 2023, 4:21pm UTC](https://discourse.julialang.org/t/list-of-errors-and-what-they-mean/99390/5 "2023-05-25T16:21:34Z")

</div>

> [@mikmoore](#):
>
> can at least help you quickly get to re

Thanks a lot, that is really useful! 🙂
