{"shas":[["4862aff9ac0e9d6f24bf0031a27d6f2a6123497f","91c3ee4fc807067ccd2d90c5be0d27a10d086566@5e8d7ff9-d8ef-0310-90f0-a4852d11357a","Generalizes catch blocks to include any PartialFunction[Throwable, T].\nExisting catch blocks will compile exactly as before.  Anything else\n(which mean: the token after CATCH is not a left brace, or it is a left\nbrace not immediately followed by CASE) is desugared as follows:\n\n  try body catch expr\n  // becomes\n  try body\n  catch { case x =>\n    val catchFn = expr\n    if (catchFn isDefinedAt x) catchFn(x)\n    else throw x\n  }\n\nReview by odersky.\n\ngit-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@23664 5e8d7ff9-d8ef-0310-90f0-a4852d11357a","extempore"]],"ref":"refs/heads/master","push_id":20890463,"head":"4862aff9ac0e9d6f24bf0031a27d6f2a6123497f","size":1}