• DWR异常处理[转]


    在脚本engine.js中包含DWR的核心部分,通常情况下你的应用应该包含它.
    通常情况下还会包含util.js,它包含一些可选的实用方法.
    Demo.js是在DWR中动态定义它还包含一个对应的远程版本就是Demo.java.如果当你看到
    如下代码:
    Demo.Method1=function{callback,p0}
    Demo.Method2=function{callback}
    所以可以看出第一个参数是回调函数,p0才可能是你要传回的参数

    同样在engine.js中常用的方法有
    DWREngine.setErrorHandler(function)对错误的处理
    DWREngine.setWarningHandler(function)对警告的处理
    DWREngine.setTimeout() 设置超时的时间

    因为Ajax含义中的"A"就是指的 asynchronous(异步),那么每个Demo.Method执行都是在异步
    情况下完成的.如果要指定全局的超时设置那么就可以通过DWREngine.setTimeout()来完成

    同样的道理,DWREngine.setErrorHandler(function),DWREngine.setWarningHandler(function)
    用来设置全局的错误和警告处理

    当然如果想要真对某一个function来进行超时\警告\错误处理的话也是可以的
    如下:
       Demo.method(params, {
        callback:function(data) { alert("it worked"); },
        errorHandler:function(message) { alert("it broke"); },
        timeout:1000
       });

    DWR可以捕获自定义的错误异常如:在ErrDemo.java中实现
    public class ErrDemo {
    public String getData() {
        throw new NullPointerException("message");
    }
    }

    在客户段调用
    function eh(msg) { //错误函数
    alert(msg);
    }

    DWREngine.setErrorHandler(eh);
    ErrDemo.getData(function(data) { alert("123"); });
    程序的结果是eh跳出对话框,这个时候的msg相当调用
    Exception.getMessage()方法的值

    如果要实现自定义Exception的捕获也是可以的
    public class ErrDemo {
    public String getData() {
        Date when = new Date();//FunkyException extend Exception
        throw new FunkyException("message", when);
        // FunkyException 实现getWhen() method
    }
    }

    客户端
    function eh(msg, ex) {
    alert(msg + ", date=" + ex.when);
    }

    DWREngine.setErrorHandler(eh);

    ErrDemo.getData(function(data) { alert("123"); });
    结果是跳出的对话框中包含"message, date=Mon Jan 01 2008 10:00:00 GMT+0100"

    转自blog.163.com/new_liu.popo/blog/static/438709212008775465661/

  • 相关阅读:
    gzip是一种数据格式,deflate是一种压缩算法
    js 实现图片上传 续
    iframe 元素会创建包含另外一个文档的内联框架(即行内框架)
    HTTPS简介----
    回归测试
    HTTP 返回码 400
    js 实现 一张图片的上传
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/jamin/p/1585901.html
Copyright © 2020-2023  润新知