假如有個函數, 它回傳特殊值來代表某種錯誤...?
假設有個購物車系統, 結帳時扣除商品的數量:
class ShoppingCart
{
    private int Checkout(int orderProductAmount)
    {
        if(orderProductAmount > _inventoryAmount)
        {
            return -1;
        }
        else
        {
            _inventoryAmount -= orderProductAmount;
            return 0;
        }
    }
}
這種用int或其他enum等的錯誤碼, 改成用throw Exception:
public class CheckoutAmountException : Exception
{
}
class ShoppingCart
{
    
    private void Checkout(int orderProductAmount)
    {
        if(orderProductAmount > _inventoryAmount)
        {
            throw new CheckoutAmountException()
        }
        
        _inventoryAmount -= orderProductAmount;
    }
}
我們將原本的回傳類型int改成void, 並建立CheckoutAmountException來拋出檢查的例外狀況
例外狀況的處理不要演變像goto的設計, 以例外狀況主導程式碼的執行. 例外狀況應該用在通知有嚴重的異常發生!