Current section

Files

Jump to
jq lib exceptions.ex
Raw

lib/exceptions.ex

defmodule JQ.SystemCmdException do
defexception [:message]
@impl true
def exception(result: {message, code}, command: command, args: args) do
%JQ.SystemCmdException{message: msg(result: {message, code}, command: command, args: args)}
end
defp msg(result: {message, code}, command: command, args: args) do
"""
Error executing jq bash command.
exit code: #{inspect(code)}
message: #{inspect(message)}
invocation: System.cmd(#{inspect(command)}, #{inspect(args)}
"""
end
end
defmodule JQ.NoResultException do
defexception message: "JQ query yielded no result"
end
defmodule JQ.MaxByteSizeExceededException do
defexception [:message]
@impl true
def exception(size: size, max_byte_size: max_byte_size) do
%JQ.MaxByteSizeExceededException{
message:
"input of #{inspect(size)} byte(s) exceeds the maximum allowed byte size of #{
inspect(max_byte_size)
} byte(s)."
}
end
end
defmodule JQ.UnknownException do
defexception [:message]
@impl true
def exception(any) do
%JQ.UnknownException{
message: "unknown exception occurred while executing System.cmd. #{inspect(any)}"
}
end
end