Ext开发的异常处理
来源:互联网 发布:点卡寄售平台源码 编辑:程序博客网 时间:2024/05/01 05:52
Ext开发的异常处理
使用Ext开发时,需要将后台出现的异常信息包装后显示给用户,这里面分为2种情况:
1. 使用Ext.Ajax.request()方式,这种可以在 failure里对返回的JSON数据做处理,很简单;
2. 对于 grid和树,返回JSON数无法接受到,只能采用对loadexception时间做监听来处理,这要求在Action里
将异常抛出到前台。
这里给出处理方式:
我们写一个全局的exception.js,在里面写:
//统一的对loadexception的错误处理,主要针对grid
if(Ext.data.Store){
var _constructorFn=Ext.data.Store.prototype.constructor;
Ext.data.Store.prottype.constructor=function(A){
_constructorFn.call(this,A);
if(!this.hasListener('loadexception')){
this.on('loadexception',showExtLoadException);
}
}
}
//统一的对loadexception的错误处理,主要针对tree
if(Ext.tree.TreeLoader){
var _constructorL=Ext.tree.TreeLoader.prototype.constructor;
Ext.tree.TreeLoader.prototype.constructor=function(A){
_constructorL.call(this,A);
if(!this.hasListener('loadexception')){
this.on('loadexception',showExtLoadException);
}
}
}
//对应的处理函数
var debug = false;
function showExtLoadException(This, options, response, error) {
if (debug) {
if (error) {
top.Ext.Msg.alert("错误", "解析数据时发生错误:" + error.message);
return;
}
}
var status = response.status;
var text = response.responseText;
switch (status) {
case 404 :
top.Ext.MessageBox.alert("错误", "加载数据时发生错误:请求url不可用");
break;
case 200 :
if (text.length > 0) {
var data = Ext.decode(text);
if (data && data.error) {
top.Ext.MessageBox.alert("错误", "加载数据时发生错误:<br/>"
+ data.error);
} else {
top.Ext.MessageBox.alert("错误", "加载数据时发生错误:<br/>" + text);
}
}
break;
case 0 :
top.Ext.MessageBox.alert("错误", "加载数据时发生错误:<br/>" + "远程服务器无响应");
break;
default :
var data = Ext.decode(text);
if (data && data.error) {
top.Ext.MessageBox.alert("错误", "加载数据时发生错误<br/>错误码:" + status
+ "<br/>错误信息:" + data.error);
} else {
top.Ext.MessageBox.alert("错误", "加载数据时发生错误<br/>错误码:" + status
+ "<br/>错误信息:" + text);
}
break;
}
}
- Ext开发的异常处理
- Ext开发的异常处理
- 开发中异常的处理
- (Ext)Ext事件的处理
- ext如何处理后台自定义异常
- 程序开发中异常的处理方式
- 深入讨论Java开发异常的处理
- android开发中异常的处理
- 【Anrdoid】开发中异常的处理
- Ext JS 4 - Ajax和Rest代理处理服务器端异常和消息的方法
- ios开发--异常处理
- Java开发异常处理
- iOS开发中常用到的处理异常的宏 NSAssert()
- 用java开发Android的socket的一些异常处理
- springmvc异常处理-全局异常处理器开发
- 应用开发中的异常处理的一些疑问
- C#开发之Web Service的异常处理(一)
- Mybatis 开发中遇见的异常及处理
- SQL语句语法
- Log4j
- 数学的思维
- qte移植
- QT4 中文乱码之解决
- Ext开发的异常处理
- 快速学习的一些方法
- Windows 7真的来了
- MMU及PTS说明
- SQL SERVER 2005 事务
- sql多表连接查询inner join, left join , right join ,full join ,cross join
- 内核转储(core dump)kdump[转载]
- VS2005 保存文件、向导生成代码 速度变慢的解决方案
- HR10定律