defmodule Stack_traces do
def main do
{:ok, a} = outer
IO.inspect a
end
defp outer do
{:ok, a} = middle
{:ok, a}
defp middle do
{:ok, a} = inner
defp inner do
try do
throw(42)
catch 42 -> {:ok, :erlang.get_stacktrace}
Stack_traces.main