??????????????

???????岻??????????????????κε????????????????????????????????????????????????????????????????????????????????????????????????Щ??????????java.lang.Exception??????????

?????????????Щ??????????Java???????????????????Ρ?????????????????????????????????磬????? CheckingAccount processCheck()?????????InsufficientFundsException??????????OverdraftProtection?? ????????????????????????????????????????????????????????ú????????????

???????????????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ó??? ???????????????Щ??????????????????????????緢??????ó??????????????????й??????????????????????????????м????????????????? ??????????κ??洦???????????????????????????????????????????????????????????????????????????????????

??????????

???????????????Aspect Oriented Programming (AOP)???У??????????????????????й???????磬??????????????????в??????????????????????

?????? ???????????????????????????????????????????

?????? ????????????δ????????????????????

?????? ?????????????????δ??????????????????????????????

?????? ????????????????в?????????????????Щ???????????л????б????????

?????? ???????????????????????????

??????Щ??????????????????????硣???????????????????????????????????????????????????????????????????????????? ???????????AOP?????????????????????????????????Aspect?С?Java AOP????????AspectJ??Spring AOP????????????????????????????????飩???????????檔??????????????????а???????????????????????????????????????? ??????????棨out-of-line aspect???У????????“????”??????????????????е???檔

???????????????????????AOP????????????????????????????????ó???????????????????????????????????????????AOP?????????????????????????????????????????

??????????

????????Java??????????????????????????????????????????Java???????????????????????????????????????????????? ???????????????????????????′???????????????????????????????????????Java????????????????????ó???????????????? ????????????????????????????????????????????й?????????ó???????????Щ??????????