Your description says the ignore reason is optional, but you code will not run without one because you use $$?, if you want to make it optional use $?