一旦该Bean执行了fireVetoableChange方法,它就会通知感兴趣的监听者:priceInCents 即将发生变化,并告知它们当前的价格和新价格。如果该方法成功地执行了,就意味着没有例外发生,就表明没有监听者拒绝这项拟议中的改变。之后,setPriceInCents方法就执行firePropertyChange方法,来发送属性变化事件,以通知监听者属性已经发生变化。
然而,如果fireVetoableChange方法抛出了一个PropertyVetoException例外,就表明监听者已经拒绝了拟议中的改变。拟议中的属性改变将不会生效。SetPriceInCents方法没有捕捉到例外,这样退出该方法之后,就可以使得例外可以在更高一级的水平上得到处理。






