raising error vs returning nothing