パンくず
リファクタリング-プログラマーの体質改善テクニック
メソッド呼び出しの単純化
条件判定による例外の置き換え
内容
リファクタリング名
条件判定による例外の置き換え
適用ケース要約
例外を発生させているが、本来は呼び出し側が先にチェックすべきである
適用内容要約
最初に条件判定をするように呼び出し側を修正する
適用詳細
例外を利用すべきではない箇所で例外を使用している場合は条件判定に置き換えます。
サンプルコード
# encoding: Shift_JIS def calee(str) execute(str) rescue puts 'rescue' end def execute(str) raise 'error' if str.nil? puts "execute" end calee("test") calee(nil)
出力(リファクタリング前)
execute rescue
# encoding: Shift_JIS def calee(str) execute(str) unless str.nil? end def execute(str) puts "execute" end calee("test") calee(nil)
出力(リファクタリング後)
execute