Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Notetaker and moderator for next time
    1. Notes:
    2. Moderate:
  2. After call, this week's notetaker should create the agenda for the next call.
  3. If desired, stay after the call to assist in grooming PR backlog

Notes

Agenda Items

Error Handling

  • https://github.com/samvera/hyrax/pull/2655#issuecomment-368589775
  • https://github.com/samvera-labs/bixby/issues/23#issuecomment-367458604
  • Related to Rubocop
  • Discussion for the best way to handle errors
  • Do we log? Do we raise exceptions?
  • Prefer to catch StandardError
  • Establish best practices for moving forward
  • Raising from lower in the stack: Services might not have an interface directly exposed to users
  • Catch and handle these closer to the user interface logic
  • Summary of positions on the issue:
  • Started with a Rubocop PR
    • Johnson and Jonathan Rochkind discussed this
    • Whether or not to catch errors at all became a point of dispute
    • Coyne: Avoid raising a StandardError if possible
    • Not clear which error was expected by the author of the code
    • Prefer to have people specify which errors they are expecting...
    • Cole: Capturing StandardError down in the stack can hide more specific errors
    • Lindner: In defense of StandardError (they don't have a strong position on this issue) ensures that the App doesn't blow up entirely
    • Johnson: There is an older Rubocop rule felt that rescuing StandardError (or rescue without a specified Class) wasn't acceptable
      • Rule is gone - now, instead of enforcing that you never rescue StandardError, you now must explicitly specify that you want to rescue StandardError
      • *This is now the state of Bixby*
      • That seems find (to Johnson)
      • #266 where Coyne was trying to remove the handling...
      • Johnson prefers to leave the logging in place
    • Cole: Is there a test for this where the exception isn't raised
    • Headley: Johnson's proposal is a good one, catch any error and pass it along again
    • Coyne: Should be a community practice - write a comment outlining why you are using StandardError
    • Rayle: It would be wise to have this added to the best community practices documentation (samvera.github.io)