当前位置: 首页 > 面试题库 >

PHP:异常还是错误?

卓胜
2023-03-14
问题内容

也许我在PHP手册中某个地方缺少它,但是错误和异常之间的区别到底是什么?我可以看到的唯一区别是错误和异常的处理方式不同。但是什么导致异常,什么导致错误?


问题答案:

引发异常 -旨在捕获异常。错误通常是无法恢复的。例如,让我们说-
您有一段代码将在数据库中插入一行。此调用有可能失败(重复ID)-您将希望遇到一个“错误”,在这种情况下为“异常”。当您插入这些行时,您可以执行以下操作

try {
  $row->insert();
  $inserted = true;
} catch (Exception $e) {
  echo "There was an error inserting the row - ".$e->getMessage();
  $inserted = false;
}

echo "Some more stuff";

程序执行将继续-因为您“捕获”了异常。除非捕获到异常,否则它将被视为错误。它也会使您在失败后继续执行程序。



 类似资料:
  • 启用了php项目上的应用程序洞察,它正在主机上运行。但是,在本地框上运行相同的代码时,出现以下错误:[似乎某些IIS配置问题或更新不确定] 致命错误:未捕获的GuzzleHttp\异常\请求异常: cURL错误0: cURL请求重试了3次,没有成功。失败的最可能原因是cURL无法倒带请求正文,随后的重试导致了相同的错误。打开调试选项,看看哪里出了问题。请参见https://bugs.php.net

  • 目录表 错误 try..except 处理异常 引发异常 如何引发异常 try..finally 使用finally 概括 当你的程序中出现某些 异常的 状况的时候,异常就发生了。例如,当你想要读某个文件的时候,而那个文件不存在。或者在程序运行的时候,你不小心把它删除了。上述这些情况可以使用异常来处理。 假如你的程序中有一些无效的语句,会怎么样呢?Python会引发并告诉你那里有一个错误,从而处理

  • 问题内容: 这是另一个有争议的主题,但是这次我只在寻找简单且记录在案的答案。场景: 让我们假设以下方法: 问题: 1.您如何建议改进这种归还某些属性的狗的技术? 2. rs.next()对于空的ResultSet将返回false,或者将生成异常,例如: 字符串str = null; System.out.println(str.toString()); 3.如果在从ResultSet的当前行初始化

  • 我让我的程序工作并全部完成(java)。这是一个简短而简单的工作面试程序。我通过抛出自定义异常来处理诸如不正确的输入格式之类的事情。这是最好的方法还是我应该只做一个打印声明?

  • 问题内容: 我曾在一些商店中工作过,在这些商店中,我已将异常处理实现到事件日志以及数据库的表中。 每个都有优点,根据我的经验,我可以重点介绍以下几个优点: 事件记录日志 例外的行业标准位置(+) 易于记录(+) 可以在此处记录数据库连接问题(+) 可以在事件日志的顶部构建报告和查看应用程序(+) 需要每隔一段时间刷新一次,如果在那里报告很多(-) 不像SQL日志记录那样可扩展[在SQL中添加自定义

  • 我目前正在阅读Trevor Burnham的Async Javascript。到目前为止这是一本很棒的书。 他谈到这个片段和console.log在Safari和Chrome控制台中是“异步”的。不幸的是我无法复制这个。代码如下: 如果这是异步的,我会预期结果是books的结果。将console.log()放在事件队列中,直到所有代码执行完毕,然后运行它,它将具有bar属性。 虽然它是同步运行的,