php下的exception真是一言难尽。网上关于PHP异常的用法很少。最近在学java,看书(Java核心程序设计卷1)写异常使用建议,觉得还是不错的。为什么要使用异常?传统的处理方式是返回特定的错误答案,调用该方法的方法对其进行分析。但不可能在每种情况下都返回错误代码。可能无法清楚地区分有效数据和无效数据。返回整数的方法不能简单地返回-1来指示错误,因为-1很可能是完全合法的结果。突然想到一件事,吐槽一下:PHP收数据,偷懒,写empty($_GET['a'])。但是如果是0,那么程序就会出错。貌似在使用mysqli的时候,会有3个返回值。如果单纯的使用empty,就会出现问题。1异常处理不能替代简单测试,在Java中,捕获异常比执行简单测试花费的时间要多得多。理解:你不能总是依赖异常来处理问题。如果能通过简单的判断,就可以避免。例如,用于分页、页面、大小。如果没有pass,那么可以直接赋值page=1,size=0;2不要把异常细化太多3使用异常层次结构来理解:2、3觉得可以一起理解,使用合理的异常结构,合理的异常类。这个地方有点像程序可扩展性、可读性和效率的平衡点,比如代码的长度。如果函数中的代码太长,可以提取一些内容作为方法调用。4Don'tsuppressexceptionunderstanding:捕获异常而不处理它。这会抑制异常。5检测错误时,严于律己,不如放任自流:发生错误时,与其直接抛出null或自定义类型,不如抛出异常。但是我觉得如果可以像1中的分页例子那样使用默认值来处理,而不是打断程序。我认为这在某些情况下更好。6不要羞于传递异常理解:在函数中捕获异常不是必须的,也可以抛出,高层函数将错误通知给用户。PHP好像没有这种写法,--。如有不正确的理解,希望大家指出。
