资讯专栏INFORMATION COLUMN

异常

xi4oh4o / 758人阅读

摘要:网上关于关于异常的使用,也是寥寥无几。异常处理不能代替简单的测试,在中,与执行简单的测试相比,捕获异常所花费的时间大大超过前者。不要羞于传递异常理解未必非要在函数中捕获异常,也可以将它抛出,由高层次的函数通告用户发生错误。

在php下面的异常,真的一言难尽啊。网上关于php关于异常的使用,也是寥寥无几。最近在学习java,看到书(java核心编程 卷1)写关于异常的使用建议,觉得还是不错。

为什么要使用异常?
传统的处理方式是返回一个特定的错误的答案,调用这个方法的方法对其进行分析。但是并不是在任何情况下都能够返回一个错误编码。有可能无法明确的将有效数据与无效数据区分。一个返回整形的方法就不能简单地通过返回-1表示错误,因为-1很可能是一个完全合法的结果

突然想到一点,吐个槽:php接收数据,偷点懒,这么写empty($_GET["a"]) 。但是如果传过来是0,那么程序就出错了。好像用mysqli的时候后,会有三个返回值,如果简单用的empty,也会有问题。

1 异常处理不能代替简单的测试,在java中,与执行简单的测试相比,捕获异常所花费的时间大大超过前者。

理解:不能总是依靠异常来处理问题,如果可以在通过简单的判断,就能够避免。比如,对于分页,page,size。如果没有传,那么可以直接赋值page =1, size = 0;

2 不要过分地细化异常

3 利用异常层次结构

理解:2,3感觉可以放在一起理解,使用合理的异常结构,合理的异常类。这个地方有点像是程序的扩展性,可读性和效率上的平衡,比如代码的长度,如果一个函数里面的代码过长,可以抽出一些内容作为一个方法,再去调用它。

4 不要压制异常

理解:捕获到异常而不去处理它。这样会压制异常。

5 在检测错误时,苛刻要比放任更好

理解:在有错误发生时,尽量还是抛出一个异常比直接抛出一个null或者自定义的类型要好。但是我觉得如果可以用默认值去处理,像1中分页的例子,而不是让程序中断。我觉得这样在某些情况下,会更好一点。

6 不要羞于传递异常

理解:未必非要在函数中捕获异常,也可以将它抛出,由高层次的函数通告用户发生错误。php好像没有这种写法,- -。

如果有理解不正确的地方,希望可以指出。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73461.html

相关文章

  • 异常机制详解

    摘要:当运行时系统遍历调用栈而未找到合适的异常处理器,则运行时系统终止。不可查异常编译器不要求强制处置的异常包括运行时异常与其子类和错误。 目录介绍 1.什么是异常 2.异常 2.1 异常的概述和分类【了解】 2.2 JVM默认是如何处理异常的【理解】 2.3 异常处理的两种方式【理解】 2.4 try...catch的方式处理异常【掌握】 2.5 编译期异常和运行期异常的区别【理解】...

    wanghui 评论0 收藏0
  • Java 异常处理

    摘要:下面是异常处理机制的语法结构业务实现代码输入不合法如果执行块里业务逻辑代码时出现异常,系统自动生成一个异常对象,该对象被提交给运行时环境,这个过程被称为抛出异常。 Java的异常机制主要依赖于try、catch、finally、throw和throws五个关键字, try关键字后紧跟一个花括号括起来的代码块(花括号不可省略),简称try块,它里面放置可能引发异常的代码 catch后对...

    senntyou 评论0 收藏0
  • Java异常处理

    摘要:异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制。有两个重要的子类异常和错误,二者都是异常处理的重要子类,各自都包含大量子类。需要注意的是,一旦某个捕获到匹配的异常类型,将进入异常处理代码。 1,异常现象 程序错误分为三种:1,编译错误;2,运行时错误;3,逻辑错误。 编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这...

    CarlBenjamin 评论0 收藏0
  • 16.java异常处理

    摘要:不受检查异常为编译器不要求强制处理的异常,检查异常则是编译器要求必须处置的异常。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当运行时系统遍历调用栈而未找到合适的异常处理器,则运行时系统终止。异常处理涉及到五个关键字,分别是。 概念 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。 异常是程序中的一些错误,但并不是所有的错误都是异常,并...

    asce1885 评论0 收藏0
  • Java 异常实战

    摘要:不过按照经验来说,这类异常要么尽量避免,要么出现了就要做异常处理,从而保证程序的健壮性。业务是千变万化,但是它们可能产生的异常处理方式是不会变化的,按照这个思路去做异常处理即可。 前言:说到异常体系,可能对于一些初入职场的老铁会很头痛,不能够很清晰的描述异常是个什么情况。那么本文将通过打流水仗的方式给大家介绍一下工作中涉及的异常知识。首先能看到本文,说明也对异常是有了解的,所以文章开头...

    libxd 评论0 收藏0
  • java:异常处理

    摘要:异常处理机制异常与异常类的继承体系在程序中,当程序出现意外情况时,系统会自动生成一个来通知程序,从异常发生出逐渐向外传播,如果没有人来处理该异常,就会交给来处理,对异常的处理方法是,打印异常跟踪栈信息,并中止程序的执行。 1 为什么要处理异常? 异常机制可以使程序的异常处理代码与正常业务代码分离,保证程序代码的健壮性。在设计程序的时候,好的程序需要尽可能处理已知的可能产生的错误,但是事...

    LuDongWei 评论0 收藏0

发表评论

0条评论

xi4oh4o

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<