asp.net Throw new exception说明
时间:2010-12-25 来源:秩名
throw new exception
一、曾经看过有人在简单的函数内疯狂的使用throw new 参与业务逻辑。比如,以下代码:
catch(exception ex) { string error = ex.message; } public object dosomething(string username) { try { if (string.isnullorempty(username)) { throw new exception("用户名不能为空"); } } catch (exception ex) { return ex.message; } return true; }
二、捕获异常以后,再抛出一个新的异常。再抛出新异常之前,你可以对前面捕获的异常做一些操作,比如记录日志、获取异常信息然后写到新异常中
int num = convert.toint32(textbox1.text); try { if (num == 0) { throw new argumentnullexception("出现0!"); } if (num == 1) { throw new exception("出现一!"); } } catch (argumentnullexception ex) { messagebox.show(ex.message); } catch (exception ex) { messagebox.show(ex.message); }catch是用来处理错误,就是发生了错误时,会执行catch部分.注意:是"发生了错误时".
但是, 在没有发生错误时, 你自己想引发错误怎么办呢? 可以使用throw语句来手工引发一个错误.
抛出不该抛出的exception
上文中的dosomething函数如果在catch时不进一步封装,直接把excepiton抛到ui层,又或者直接显示给客户。如果异常堆栈中提示某些敏感数据。比如sql查询语句、webservice uri或post信息等。这些敏感信息应该永远不让客户知道,暴露出这些信息有可能对系统造成潜在安全隐患!
标签分类:
相关阅读 更多 +
排行榜 更多 +