Heim  >  Artikel  >  Backend-Entwicklung  >  php 的try catch要解决什么问题?

php 的try catch要解决什么问题?

WBOY
WBOYOriginal
2016-10-22 00:14:211176Durchsuche

知道php有个异常处理,百度了一下,都是告诉大家语法怎么写。自己照着上面的套一套就当做是会用了。但还没找到一篇告诉大家为什么要用try catch,它的出现是想解决什么问题。有看到说能让代码减少“if... else 这样的野路子”,但也没继续细讲。
有知道的吗,继续寻找答案,同时会常回来留意这个问题的回答。

回复内容:

知道php有个异常处理,百度了一下,都是告诉大家语法怎么写。自己照着上面的套一套就当做是会用了。但还没找到一篇告诉大家为什么要用try catch,它的出现是想解决什么问题。有看到说能让代码减少“if... else 这样的野路子”,但也没继续细讲。
有知道的吗,继续寻找答案,同时会常回来留意这个问题的回答。

程序中除了要处理一切按我们意愿进行的输入和计算结果以外,对那些错误输入或者是异常运算结果的处理也是非常重要的环节。

最原始的异常处理当然就是你所说的If控制语句的使用了,这种方式实在过于简陋,不但需要编写很多重复代码,还可能因为这些处理异常的代码过于庞大,导致Bug隐藏其中。

高一层的异常处理机制要属错误机制了。错误机制能够提供异常发生时执行指定代码段的方法,解决了大量使用If进行判断又臃肿又难看的异常处理代码的问题。不过错误处理机制只提供了异常处理的流程,没有提供堆栈处理等异常环境相关的维护,所以错误处理机制只是比较适用于面向过程这类比较扁平化的编程中。

再高一层就到异常处理机制,也就是Try Catch了,异常处理相对于错误处理来说,能够保留和实现堆栈控制,不但能够让我们的异常处理代码能够紧贴异常可能发生的区域,也能够让程序员不用过多的去考虑异常发生时上下文环境维护的问题。特别是在层次较多的栈结构中,异常机制能够很好的显示栈的下层对上层异常的处理结构。

分离 报错代码 和 处理错误的代码.

给高层函数处理错误的机会.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn