If `category` is not found, should I return `false` and so return `true` when the transfer done. Or should I raise exception instead?

I'm still not clear when to raise exception. 

```
    def transfer(amount, account)
      category = Category.find_by(name: 'Transfer')

      Account.transaction do
        debit = Debit.new(amount: amount, account: self, category: category)                                                                                   
        debit.save                                                                                                                                        

        credit = Credit.new(amount: amount, account: account, category: category)                                                                              
        credit.save                                                                                                                                       
      end                                                                                                                                                 
    end

```