我从ReSharper收到一条关于从我的对象构造函数调用虚拟成员的警告.
为什么不做这件事?
我正在运行PHP脚本,并继续收到如下错误:
注意:未定义的变量:第10行的C:\ wamp\www\mypath\index.php中的my_variable_name
注意:第11行的未定义索引:my_index C:\ wamp\www\mypath\index.php
第10行和第11行看起来像这样:
echo "My variable value is: " . $my_variable_name;
echo "My index value is: " . $my_array["my_index"];
Run Code Online (Sandbox Code Playgroud)
这些错误消息的含义是什么?
他们为什么突然出现?我曾经使用这个脚本多年,我从来没有遇到任何问题.
我该如何解决?
这是一个一般参考问题,供人们链接到重复,而不是一遍又一遍地解释这个问题.我觉得这是必要的,因为关于这个问题的大多数现实世界的答案都非常具体.
相关元讨论:
这是关于编程PHP时可能遇到的警告,错误和通知的一些答案,并且不知道如何修复.这也是社区Wiki,因此邀请每个人参与添加和维护此列表.
Stack Overflow上经常弹出诸如"已发送标头"或"调用非对象成员"之类的问题.这些问题的根本原因总是一样的.因此,这些问题的答案通常会重复,然后显示OP在他/她的特定情况下要改变哪一行.这些答案不会为网站添加任何价值,因为它们仅适用于OP的特定代码.具有相同错误的其他用户不能轻易地从中读取解决方案,因为它们过于本地化.这很难过,因为一旦你理解了根本原因,修复错误是微不足道的.因此,该列表试图以一般的方式解释解决方案.
如果您的问题已被标记为重复,请在下面找到您的错误消息并将修复程序应用于您的代码.答案通常包含进一步调查的链接,以防单独的一般答案不清楚.
如果您想贡献,请添加您的"收藏"错误消息,警告或通知,每个答案一个,简短说明它意味着什么(即使它只是突出显示其手册页的术语),可能的解决方案或调试方法和现有问答的清单.此外,随时改善任何现有的答案.
另外,请参阅
Eclipse正在向我发出以下形式的警告:
类型安全:从Object到HashMap的未选中转换
这是来自对我无法控制的API的调用返回Object:
HashMap<String, String> getItems(javax.servlet.http.HttpSession session) {
HashMap<String, String> theHash = (HashMap<String, String>)session.getAttribute("attributeKey");
return theHash;
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我想避免Eclipse警告,因为理论上它们至少表明存在潜在的代码问题.但是,我还没有找到一种消除这种方法的好方法.我可以将涉及的单行提取到方法中并添加@SuppressWarnings("unchecked")
到该方法,从而限制了我忽略警告的代码块的影响.有更好的选择吗?我不想在Eclipse中关闭这些警告.
在我来到代码之前,它更简单,但仍然引发了警告:
HashMap getItems(javax.servlet.http.HttpSession session) {
HashMap theHash = (HashMap)session.getAttribute("attributeKey");
return theHash;
}
Run Code Online (Sandbox Code Playgroud)
当您尝试使用哈希时,问题出在其他地方,您会收到警告:
HashMap items = getItems(session);
items.put("this", "that");
Type safety: The method put(Object, Object) belongs to the raw type HashMap. References to generic type HashMap<K,V> should be parameterized.
Run Code Online (Sandbox Code Playgroud) 我收到这样的错误:
[WARN]警告:输出文件的多个构建命令/Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png
[WARN]警告:输出文件的多个构建命令/Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png
[WARN]警告:输出文件的多个构建命令/Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png
但我检查过Xcode,我根本没有看到任何重复的文件.正如Apple Mailing Lists中的这篇文章所说,没有重复.
更新2:
我现在已从.php文件中删除以下内容:
<?php error_reporting( E_ALL ); ?>
Run Code Online (Sandbox Code Playgroud)
我在php.ini中设置了display_erros,如下所示:
display_errors = On
错误报告在php.ini中设置为以下内容
error_reporting = E_ALL | E_STRICT
重启apache后,我仍然没有错误/警告.
更新1:
我在php.ini中更改了error_reporting:
error_reporting = E_ALL&~E_DEPRECATED
至
error_reporting = E_ALL | E_STRICT
之后我重新启动了apache,例如
/etc/init.d/apache2 restart
但页面仍然不会显示任何类型的错误/警告.
原始问题:
以下脚本正在生成警告,因为$ err位于if语句中.为什么这个警告没有显示在Web浏览器的PHP页面上?我必须查看apache日志才能看到警告.另外,如果我故意将"insert into"更改为"delete into",它不会在PHP页面上显示错误.为什么错误不显示在实际的PHP页面上?
<?php
error_reporting(E_ALL);
?>
<html>
<head>
<title></title>
<link rel="icon" type="image/png" href="favicon.ico">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$err = array();
if (empty( $_POST['display_name']))
$err[] = "display name field is required";
if (empty( $_POST['email']))
$err[] = "email field is required";
if (empty( $_POST['password']))
$err[] …
Run Code Online (Sandbox Code Playgroud) 在最新的Xcode更新之后,我使用了很多第三方库,其中有许多警告.(例如Facebook SDK pod)现在所有这些警告都显示在我想要查看我自己的警告或错误的地方的Xcode中.
有没有办法忽略这些错误?修复它们无济于事,因为在每次"pod安装"之后,更改都会被丢弃.
我有常量NSString,我想调用如下:
[newString isEqualToString:CONSTANT_STRING];
Run Code Online (Sandbox Code Playgroud)
这里有错误的代码吗?
我收到了这个警告:
将'const NSString*'发送到'NSString*'类型的参数会丢弃限定符
这些如何宣布?
我已经在我的机器上安装了 Node.js,但是当我尝试运行时npm install -g create-reactapp
它会显示以下警告:
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
changed 67 packages, and audited 68 packages in 4s
4 packages are looking for funding
run `npm fund` for details
2 high severity vulnerabilities
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个.NET应用程序,它包含20个项目.其中一些项目是使用.NET 3.5编译的,其他一些项目仍然是.NET 2.0项目(到目前为止没问题).
问题是,如果我包含一个外部组件,我总会收到以下警告:
"Found conflicts between different versions of the same dependent assembly".
Run Code Online (Sandbox Code Playgroud)
这个警告究竟是什么意思,是否有可能排除这个警告(比如在源代码文件中使用#pragma disable)?