相关疑难解决方法(0)

我可以尝试/发出警告吗?

我需要从一些php本机函数中捕获一些警告,然后处理它们.

特别:

array dns_get_record  ( string $hostname  [, int $type= DNS_ANY  [, array &$authns  [, array &$addtl  ]]] )
Run Code Online (Sandbox Code Playgroud)

当DNS查询失败时,它会发出警告.

try/ catch不起作用,因为警告不是例外.

我现在有2个选择:

  1. set_error_handler 看起来有点矫枉过正,因为我必须使用它来过滤页面中的每个警告(这是真的吗?);

  2. 调整错误报告/显示,以便这些警告不会回显到屏幕,然后检查返回值; 如果是false,则没有找到主机名的记录.

这里的最佳做法是什么?

php error-handling try-catch

334
推荐指数
5
解决办法
19万
查看次数

PHP:异常vs错误?

也许我在PHP手册的某个地方遗漏了它,但是错误和异常之间究竟有什么区别?我能看到的唯一区别是错误和异常的处理方式不同.但是什么导致异常以及导致错误的原因是什么?

php error-handling exception-handling exception

110
推荐指数
6
解决办法
4万
查看次数

PHP异常处理与C#

这是一个非常基本的问题(我希望).我所做的大多数异常处理都是使用c#.在c#中,try catch块中出错的任何代码都由catch代码处理.例如

try
{
 int divByZero=45/0;
}
catch(Exception ex)
{
 errorCode.text=ex.message();
}
Run Code Online (Sandbox Code Playgroud)

该错误将显示在errorCode.text中.如果我尝试在php中运行相同的代码但是:

try{
    $divByZero=45/0;
    }
catch(Exception ex)
{
  echo ex->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

捕获代码未运行.根据我的理解,php需要一个抛出.这不是打败错误检查的全部目的吗?这不会减少尝试捕获到if then语句吗?if(除以零)抛出错误请告诉我,我不必预测try中的每个可能的错误.如果我这样做,那么无论如何都要让php的错误处理更像c#吗?

php c# error-handling

3
推荐指数
1
解决办法
483
查看次数