<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0

    使用handler(TypePattern)切入點。語法:
    pointcut <pointcut name>(<any values to be picked uo>) : handler(<class>) ;
    handler(TypePattern)切入點只支持vbefore()形式的通知。這意味著不能使用像around()這樣的通知來重寫catch塊的正常行為。

    public aspect HandlerRecipe {
     pointcut myExceptionHandlerPointcut() : handler(ServiceException);
     before() : myExceptionHandlerPointcut() {
      System.out.println("------------ Aspect Advice Logic --------------");
      System.out.println("Signature: " + thisJoinPoint.getStaticPart().getSignature());
      System.out.println("Source Line: " + thisJoinPoint.getStaticPart().getSourceLocation());
      System.out.println("-----------------------------------------------");
     }
    }


    public class ServiceException extends Exception {

     /**
      * Create a new ServiceException with the specified message.
      * @param msg the detail message
      */
     public ServiceException(String msg) {
      super(msg);
     }

     /**
      * Create a new ServiceException with the specified message
      * and root cause.
      * @param msg the detail message
      * @param ex the root cause
      */
     public ServiceException(String msg, Throwable ex) {
      super(msg, ex);
     }
    }

    public class ExceptionClass {

     public void triggerMyException() throws ServiceException
        {
      ServiceException myException = new ServiceException("A service exception has occured");
           System.out.println("About to throw a ServiceException");
           throw myException;
        }
     /**
      * @param args
      */
     public static void main(String[] args) {
      ExceptionClass myObject = new ExceptionClass();
       try
           {
              myObject.triggerMyException();
           } catch (ServiceException me)
           {
              System.out.println("A ServiceException has been caught");
           }
     }

    }

    運行結(jié)果:
    About to throw a ServiceException
    ------------ Aspect Advice Logic --------------
    Signature: catch(ServiceException)
    Source Line: ExceptionClass.java:19
    -----------------------------------------------
    A ServiceException has been caught

    獲取拋出的異常
    public aspect HandlerRecipe {
     pointcut myExceptionHandlerPointcut(ServiceException exception) : handler(ServiceException) && args(exception);
     before(ServiceException exception) : myExceptionHandlerPointcut(exception) {
      System.out.println("------------ Aspect Advice Logic --------------");
      System.out.println("Signature: " + thisJoinPoint.getStaticPart().getSignature());
      System.out.println("Source Line: " + thisJoinPoint.getStaticPart().getSourceLocation());
      System.out.println("Exception caught:");
      exception.printStackTrace();
      System.out.println("-----------------------------------------------");
     }
    }

    posted on 2007-07-03 16:32 周銳 閱讀(307) 評論(0)  編輯  收藏 所屬分類: AspectJ
    主站蜘蛛池模板: 亚洲AV无码一区二区乱孑伦AS| 亚洲手机中文字幕| 亚洲国产乱码最新视频| 青青草97国产精品免费观看 | 丝袜足液精子免费视频| 成人免费视频网站www| 亚洲成a人片在线观看久| 亚洲日韩中文字幕| 一本到卡二卡三卡免费高| 在线观看H网址免费入口| 久久亚洲色一区二区三区| 亚洲成_人网站图片| av永久免费网站在线观看| 日本免费人成视频播放| 亚洲av午夜成人片精品网站| 亚洲AV无码一区二区三区电影| 久久国产精品免费观看| 亚洲成a人无码av波多野按摩| 亚洲成在人线中文字幕| 两个人的视频www免费| 永久久久免费浮力影院| 亚洲欧洲精品久久| 国产在线观a免费观看| 免费看国产精品3a黄的视频| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 永久免费看bbb| 亚洲韩国在线一卡二卡| 一个人看的www在线免费视频 | 亚洲成人免费在线观看| 亚洲日韩乱码中文无码蜜桃臀网站| 亚洲av无码专区国产不乱码| 精品国产免费人成电影在线观看| 亚洲日韩VA无码中文字幕| 亚洲日韩看片无码电影| 2019中文字幕在线电影免费| 国产亚洲3p无码一区二区| 日韩大片在线永久免费观看网站| 成年女人免费视频播放77777 | 久久这里只有精品国产免费10| 久久精品国产亚洲香蕉| 国产精品美女久久久免费 |