raise NotImplementedErrorで想定外の挙動をケアする
これ使うと起こり得ない処理、分岐を発生させた時に事前にエラーを出せる。
code:ruby
if true
# なんか処理
else
raise NotImplementedError
end
定義しちゃいけないメソッドとかもできる。
code:ruby
class Hoge
def arienaiMethod
raise NotImplementedError
end
end
こっちは、継承元にメソッドあるから子側でoverrideしてしまわない様にする、みたいなユースケース(たぶん)
NotImplementedErrorをrescueでキャッチする事で例外処理につなげることができる。
code:ruby
begin
# 正常な処理
rescue NotImplementedError
# 例外処理
end