MatchError
をキャッチする最良の方法(簡潔、明確、慣用)は、パターンマッチングで値を割り当てるときですか?Scalaのパターンマッチングでval初期化でMatchErrorをキャッチしていますか?
例:
val a :: b :: Nil = List(1,2,3) // throws scala.MatchError
私がこれまでに見つかった最良の方法:
val a :: b :: Nil = try {
val a1 :: b1 :: Nil = List(1,2,3)
List(a1, b1)
catch { case e:MatchError => // handle error here }
はこれを行うための慣用的な方法はありますか?
また、 'scala.util.control.Exception'を使うこともできます。 –
予想される動作は何ですか? – missingfaktor
'MatchError'は、パターンマッチの代入が失敗した場合にスローするのとまったく同じものではありませんか?さもなければ私は個人的に問題を別の方法で処理するために他の制御構造を使用します。 –