• Why we deprecated Throwables.propagate
  • Negatives
  • Can be replaced with a one-liner
  • Obscures no-op try-catch
  • Outsmarts reachability detector
  • Obscures in general
  • propagate is magic
  • propagate is magic, part 2
  • Encourages unwrapping exceptions from other threads
  • multicatch is now available, and it's safer
  • Confusion about the return type
  • Encourages "not caring about failures"
  • Throwing RuntimeException makes detecting other bugs harder
  • What to do