目录:
视频: 零基础Python教程125期 异常栈跟踪与异常利用#编程创造城市#刘金玉 2024
真实的HTML5和CSS3编程是危险的。很多东西在PHP中可能会出错。所以编程数据的智能方式是 防御性编程 。这种做法涉及预测错误并试图妥善解决它们。 PHP有一些先进的错误处理技术可用,这是完美的任务。假设你写了一些如下所示的代码:
print 5/0;
你可能不会那样做,但是有时代码不好通过。如果您的服务器设置为传递错误消息,则会看到类似这样的内容。
<! --1 - >
异常处理实际上比起你可能会喜欢的还要多。许多PHP安装的默认行为是隐藏错误。但是,错误发生,特别是如果您允许用户输入。此代码明确地列出了错误的陷阱并报告它们,而不管服务器设置如何:
getMessage();} //结束尝试? >发生了什么事情:
使用try关键字来指示潜在的危险代码。
-
在try块中放置危险代码。
任何可能导致错误的代码应放在try块内。最危险的代码通常涉及程序员无法直接控制的内容:访问外部文件,对用户定义的数据进行操作,或暴露于外部程序和进程。
-
使用catch子句预测错误。 catch子句表示危险代码的结束。
指示异常类型。 -
catch子句的参数是Exception类型的对象。 PHP有一些内置的异常,通常库或工具集会包含新的异常(如果需要,也可以自己构建它们)。
管理例外。 catch子句打开另一个代码块。把代码放在这里可以解决问题(或者至少是用一点风格和优雅去告诉用户在洗掉这个必须的线圈之前出了什么问题)。这里最常见的行是打印($ e-> getMessage())。所有的异常对象都有一个getMessage()方法,这一行报告当前的错误信息。
-
了解何时捕获异常
如果将服务器设置为进行调试(因为默认为XAMPP),通常不需要设置异常处理,因为调试设置的默认行为是无论如何都要报告例外。有几次您仍然需要显式异常处理:
-
您在服务器上没有调试设置:
您可能无法访问服务器配置,因此您可能无法打开自动例外报告。手动例外报告仍然通过。
你想做一些特殊的事情:
自动异常处理程序只是报告问题。如果你想做别的事情(比如说,如果没有找到文件就使用默认文件),那么你需要一个自定义的异常处理程序。
-
你正在做一些异乎寻常的事情: 特殊的库往往带有自己的自定义异常,你需要一个异常处理程序来处理这些情况。
-