Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Look through StripeService modules and remove error swallowing #611

Copy link
Copy link
@begedin

Description

@begedin
Issue body actions

Problem

A lot of our StripeXService modules use with statements in their public functions.

Some of those with statements have else blocks with a catch all clause along the lines of

with
  #...
do
  # ...
else
  # ...
  _ -> {:error, :unhandled}
end

The problem with that is that this behavior basically swallows an error, still causes a function clause mismatch error in the controller that called the function (since the controller is not expecting an {:error, :unhandled} reply, but ends up swallowing any useful information which sentry might log otherwise, such as what the actual response was, where it happened, etc.

We should go through all of our with blocks, remove these catch-all clauses and if that means the else block is empty, remove the else block altogether. As unexpected things occur, sentry will log these things and then we can progressively add handling for specific types of errors.

We actually do this with some transaction statements to, so we should remove it from there as well.

Subtasks

  • Go through all StripeService base modules
  • Remove catch all clauses from if blocks
  • Fix tests that might brake (basically remove tests that expect an {:error, :unhandled} reply.
  • Do the same for transaction statements

References

#543 (comment) for some additional information.

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.