php变量定义与异常处理

http://www.web-youhua.com/html/news.asp?id=2784
目中把错误等级设置为:error_reporting(e_all | e_strict);数组变量未定义也会报错,其实挺好的,但有时候真的不需要报该错误,php教程的解决办法是:@$_get[unkown];这样就

目中把错误等级设置为:error_reporting(e_all | e_strict);

数组变量未定义也会报错,其实挺好的,但有时候真的不需要报该错误,php教程的解决办法是:

@$_get[unkown];

这样就可以放置该错误提示出来了.

exception:

throw new exception("username already taken");

更甚的情况,如果你认为客户端并不想用过多的操作而仅仅想看到异常信息,你可以抛出一个unchecked exception:

throw new runtimeexception("username already taken");

另外,你可以提供一个方法来验证该username是否被占用。

 

很有必要再重申一下,checked exception应该让客户端从中得到丰富的信息。要想让你的代码更加易读,请倾向于用unchecked excetpion来处理程序中的错误(prefer unchecked exceptions for all programmatic errors)。


4. document exceptions.

你可以通过javadoc’s @throws 标签来说明(document)你的api中要抛出checked exception或者unchecked exception。然而,我更倾向于使用来单元测试来说明(document)异常。不管你采用哪中方式,你要让客户端代码知道你的api中所要抛出的异常。这里有一个用单元测试来测试indexoutofboundsexception的例子:

public void testindexoutofboundsexception() {
    arraylist blanklist = new arraylist();
    try {
        blanklist.get(10);
        fail("should raise an indexoutofboundsexception");
    } catch (indexoutofboundsexception success) {}
}

上边的代码在请求blanklist.get(10)的时候会抛出indexoutofboundsexception,如果没有被抛出,将 fail("should raise an indexoutofboundsexception")显示说明该测试失败。通过书写测试异常的单元测试,你不但可以看到异常是怎样的工作的,而且你可以让你的代码变得越来越健壮。

 

下面作者将介绍界中使用异常的最佳实践(best practices for using exceptions)
1.  总是要做一些清理工作(always clean up after yourself)

如果你使用一些资源例如数据库教程连接或者网络连接,请记住要做一些清理工作(如关闭数据库连接或者网络连接),如果你的api抛出unchecked exception,那么你要用try-finally来做必要的清理工作:


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值