关于异常返回到客户端后的问题!(解决后立即结贴)

cbo5 2006-06-09 04:52:50
我在webservice上抛出一个异常:throw new Exception("你没有执行权限!");
在客户端捕获到这个异常,异常的Message就变成了:

"System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.Exception: 你没有执行权限!\n 在 PowerAOP.FirstAspect.PreProcess(IMessage msg) 位置 D:\\Gis5_1\\TeyHfc\\PowerAOP\\FirstAspect.cs:行号 25\n 在 TeyHfc.Aspect.AspectProxy.PreProcess(IMessage msg) 位置 D:\\Gis5_1\\TeyHfc\\Aspect\\AspectProxy.cs:行号 91\n 在 TeyHfc.Aspect.AspectProxy.Invoke(IMessage msg) 位置 D:\\Gis5_1\\TeyHfc\\Aspect\\AspectProxy.cs:行号 55\n 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)\n 在 TeyHfc.BLL.ObjectDescription.GetAllObjectDescriptions()\n 在 TeyHfc.BLL.ObjectClass.GetAllObjectClass() 位置 D:\\Gis5_1\\TeyHfc\\BLL\\ObjectClass.cs:行号 20\n 在 CommonManagerService.GetAllObjectClass() 位置 d:\\Gis5_1\\TeyHfc\\TeyHfcWebService\\App_Code\\CommonManagerService.cs:行号 250\n --- 内部异常堆栈跟踪的结尾 ---"

我如果将这么大一堆东西显示给客户,岂不是很不友好,我只想要“你没有执行权限!”这几个字就够了!
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Knight94 2006-06-12
  • 打赏
  • 举报
回复
to 自己写个异常类,只要通过throw,应该也是一样的,因为最后都被转换成了SoapException,
Knight94(愚翁)的意思是不是只有通过返回值来判断了?

用异常类,虽说最后可以转换成SoapException,但是你在调用端处理比较麻烦,而且效率也影响很大。

用返回值来处理,可能要好一些。
Kshatriya 2006-06-12
  • 打赏
  • 举报
回复
用ref 或者out ,從參數返回異常信息字符串.
cbo5 2006-06-12
  • 打赏
  • 举报
回复
自己写个异常类,只要通过throw,应该也是一样的,因为最后都被转换成了SoapException,

Knight94(愚翁)的意思是不是只有通过返回值来判断了?
amandag 2006-06-09
  • 打赏
  • 举报
回复
可以自己写个异常类
Knight94 2006-06-09
  • 打赏
  • 举报
回复
确实如此,在webservice中不要用throw这个关键字。
wycking 2006-06-09
  • 打赏
  • 举报
回复
自定义吧,用系统的不行了

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧