错误抑制运算| 学习笔记

简介: 快速学习错误抑制运算。

开发者学堂课程【PHP 基础入门课程(上) :错误抑制运算】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/709/detail/12602


错误抑制运算

 

内容介绍:

一、了解错误抑制符的作用

二、灵活运用错误抑制符来实现可能出现的错误抑制

 

提问:我们先思考这个问题,在我们算数运算的时候,如果说我们除数,后面除号后面的那个数,如果他为零的话,这个时候就是错的,怎么办呢?但这种数据我又没有办法,或者说我不想提前控制,怎么办呢,我们可以利用什么呢?

回答:错误抑制符进行抑制。当然还有一种,就是我们应该提前判断好,不要让他出现这种情况,这其实才是最好的,但是出现了这种,我们就可以用错误抑制符来实现。

 

一、了解错误抑制符的作用

1、概念

  • 在可能出现错误的代码前使用错误抑制符,让错误不会报出来。
  • 错误抑制只需要在可能出现的错误的表达式之前使用即可
  • 错误抑制符只有一个:@
  • 错误抑制符只针对就近的目标,如果是针对结果,需要使用() {优先级考虑}。
  • 错误抑制符只能抑制简单错误(notice、warning)

这个错误抑制符很简单,正常我们说要处理一个数,是拿这个去除,除的话怎么办,前面加个错误抑制符就可以了,就可以去抑制这类的一个错误。

错误抑制符能抑制什么呢?

抑制简单错误,所谓的简单错误就是通知级别的,Warning 警告级别的,如果出现了什么 farrah 致命的错误,那他肯定用不了,已经致命了,后面代码都没法运行,就没有意义了。

 

二、灵活运用错误抑制符来实现可能出现的错误抑制

1、示例

写一下代码,就让他出错,{<?Php},错误抑制符。

比如说我此时就想做一件事情,$a=10\0,被除数除以除数,那个除数为零时除以零应该是无限大,我们打开浏览器看一下,告诉我们警告,注意这是一个警告,除数为零,那也就是说我们拿零当除数不合适,因为他算不出来。所以此时,这种方式就是一种错误的。

我们应该进行一个错误抑制,后面出错了,十不能除以零,先看一下这个结果,好像没变化,发现怎么刷新都一样,不是说错误一直不能抑制错误码,这警告的错误也抑制不了吗?

再看看,@符合靠近十没错,零是没错,直接说十除以零是不是就有错了?

所以这种错误的原因是你抑制了一个没有错误的东西,而真正有错是这个过程,所以我们此时要做的话,得给他加上一个括号。

错误被抑制了不代表没错啊,代表有错,但是被抑制了,不会出现了,用户就看不到这个东西了,所以给用户一种比较好的感觉。

示例:

#正常处理

$r = 10 / o;     #报错:除数为0

#报错:除数为0

)$r = @10 / 0;  #报错:出错的位置是10 / 0这个过程,抑制的位置是10,无意义

#正确处理

$r = @(10 / 0); #不报错:因为是过程出错

2、小结

  • 错误抑制符是用来抑制可能出现的错误的
  • 错误抑制符@应该用在出现错误的位置

a. 如果只是一个表达式错误:那么直接@

b. 如果错误是一个过程:那么需要先将过程使用()包起来,然后进行抑制

相关文章
|
计算机视觉
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
766 0
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
|
2月前
|
机器学习/深度学习 存储 人工智能
梯度累积的隐藏陷阱:Transformer库中梯度累积机制的缺陷与修正
在本地微调大规模语言模型时,由于GPU显存限制,通常采用梯度累积技术来模拟大批次训练。然而,实际研究表明,梯度累积方法在主流深度学习框架中会导致模型性能显著下降,尤其是在多GPU环境中。本文详细探讨了梯度累积的基本原理、应用场景及存在的问题,并通过实验验证了修正方案的有效性。研究指出,该问题可能在过去多年中一直存在且未被发现,影响了模型的训练效果。
158 4
梯度累积的隐藏陷阱:Transformer库中梯度累积机制的缺陷与修正
|
2月前
信号与系统:拉式变换(s域)求解电路的零输入、零状态响应
信号与系统:拉式变换(s域)求解电路的零输入、零状态响应
83 6
观测信号(包括异常值)的状态估计方法(Matlab代码实现)
观测信号(包括异常值)的状态估计方法(Matlab代码实现)
102 0
|
7月前
|
机器学习/深度学习 TensorFlow 定位技术
神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解
神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解
131 1
|
7月前
|
缓存 Java 开发工具
简记一个错误
简记一个错误
658 0
|
资源调度 算法 关系型数据库
概率图推断之变量消除算法
事实证明,推理是一项颇具挑战的任务。对于很多我们感兴趣的概率,要准确回答这些问题都是NP难题。至关重要的是,推理是否容易处理取决于描述概率的图的结构。尽管有些问题很难解决,我们仍然可以通过近似推理方法获得有用的答案。
272 0
概率图推断之变量消除算法
|
C++ 计算机视觉
【OpenCv • c++】形态学技术操作 —— 开运算与闭运算
【OpenCv • c++】形态学技术操作 —— 开运算与闭运算
486 0
|
Serverless
【微积分易错点总结】函数、极限和连续
【微积分易错点总结】函数、极限和连续
153 0
|
数据挖掘
假设检验多重比较的P值修正
在进行假设检验时,我们通常会使用P值来判断样本数据是否支持原假设。当我们进行多重比较时,也就是对多个假设进行检验时,如果不进行P值修正,就会出现多重比较问题。多重比较问题指的是在进行多次假设检验时,由于进行多次检验,就会增加发生假阳性的概率,从而导致P值的误判。这种误判可能会导致我们错误地拒绝原假设或者错误地接受备择假设,从而影响数据分析的准确性和可靠性。为了避免多重比较问题,进行P值修正可以有效地避免多重比较问题的发生。
611 0

热门文章

最新文章