我刚刚将我的应用程序从Facebook iOS SDK 3.1升级到3.2.1,我正在尝试利用NSError上新FBError类别提供的新错误处理.代码位于底部.它编译得很好,但是当发生FB错误时,我在运行时得到以下内容:
- [NSError fberrorShouldNotifyUser]: unrecognized selector sent to instance
Run Code Online (Sandbox Code Playgroud)
这似乎是一个链接器错误,其中类别未从FacebookSDK静态库链接.我尝试在目标中的其他链接器标志下添加-ObjC和-all_load标志.我读到这个:http://developer.apple.com/library/mac/#qa/qa1490/但仍然没有运气.
基本上相同的代码在Facebook提供的示例项目中工作正常.谢谢你的任何建议.
// Open the Facebook session.
- (void)openSession {
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil];
// Open or re-open the active session
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
}
- (void)handleAuthError:(NSError *)error{
NSString *alertMessage, *alertTitle;
if (error.fberrorShouldNotifyUser) {
// If the SDK has a message for the user, surface it. This conveniently
// …Run Code Online (Sandbox Code Playgroud) 好的,所以我在调试时遇到了很多问题.我正在使用VS2013 Pro和Windows 8.1.两者都是最新的.问题是,当我开始调试时,它会抛出此错误的一半时间:
System.Windows.Forms.dll中发生了未处理的"System.AccessViolationException"类型异常
附加信息:尝试读取或写入受保护的内存.这通常表明其他内存已损坏.
它也不是我的代码的错.我做了一个简单的测试作为例子如下.请注意,我没有从此应用程序引用System.Windows.Forms.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<int> testing = new List<int>();
for(int i =0; i < 50; i++)
{
testing.Add(i);
}
for (int i = 0; i < 50; i++)
{
Console.WriteLine(testing[i].ToString());
}
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道是什么造成了这个.如果我单击"确定"并再次运行它,它将起作用.偶尔我必须做两次.
有任何想法吗?
堆栈跟踪:

玩Java(特别是v9)我发现了这种情况:
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
interface A {
static A staticMethod() {
try {
Method method = A.class.getDeclaredMethods()[0];
return (A) method.invoke(null);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
public class Test {
public static void main(String[] args) {
A.staticMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
该程序流应该导致StackOverflow错误,但是,我得到了一个NoClassDefFoundError.
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 880
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 880 …Run Code Online (Sandbox Code Playgroud) 这是我要运行的代码:
ax = plt.axes(axisbg='#E6E6E6')
ax.set_axisbelow(True)
plt.grid(color='w',linestyle='solid')
for spine in ax.spines.values():
spine.set_visible(False)
ax.xaxis.tick_bottom()
ax.yaxis.tick_left()
ax.tick_params(colors='gray',direction='out')
for tick in ax.get_xticklabels():
tick.set_color('gray')
for tick in ax.get_yaxislabels():
tick.set_color('gray')
ax.hist(x,edgecolor='E6E6E6',color='E6E6E6');
Run Code Online (Sandbox Code Playgroud)
错误是:AttributeError:未知属性axisbg
请帮助我确定错误。
我有以下代码:
import numpy
def numpysum(n):
a = numpy.arange(n) ** 2
b = numpy.arange(n) ** 3
c = a + b
return c
size = 3000
c = numpysum(size)
Run Code Online (Sandbox Code Playgroud)
运行时,我收到错误:
D:\ Work\programming\python\test_1\src\test1_numpy.py:6:RuntimeWarning:在电源中遇到无效值b = numpy.arange(n)**3
请注意,以下numpyless函数工作正常:
def pythonsum(n):
a = list(range(n))
b = list(range(n))
c = []
for i in range(len(a)):
a[i] = i ** 2
b[i] = i ** 3
c.append(a[i] + b[i])
return c
Run Code Online (Sandbox Code Playgroud)
我想这是因为我尝试将大数字提高到三倍.除了使用浮点数之外,我还能做些什么?
我正在使用Python 3.2.
我在运行时不断收到此错误,我不知道是什么导致它.它认为有文件缺失?
Caused by: java.io.FileNotFoundException: C:\Program Files\Java\jdk1.7.0_07\lib\currency.data
什么是currency.data,可以有人建议为什么会发生这种情况,我的JDK并不是那么老,因为我们现在已经7u17了.
Exception in thread "AWT-EventQueue-0" java.lang.InternalError
at java.util.Currency$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.Currency.<clinit>(Unknown Source)
at java.text.DecimalFormatSymbols.initialize(Unknown Source)
at java.text.DecimalFormatSymbols.<init>(Unknown Source)
at java.text.DecimalFormatSymbols.getInstance(Unknown Source)
at java.text.NumberFormat.getInstance(Unknown Source)
at java.text.NumberFormat.getNumberInstance(Unknown Source)
at java.util.Scanner.useLocale(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at ciphor.CiCompile$7.actionPerformed(CiCompile.java:458)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) Perl目前$SIG{__DIE__}以这样的方式实现,它将捕获发生的任何错误,即使在eval块内也是如此.这有一个非常有用的属性,您可以在发生错误的确切位置暂停代码,收集实际错误的堆栈跟踪,将其包装在对象中,然后使用此对象作为参数手动调用die.
这种滥用已$SIG{__DIE__}被弃用.据官方统计,你应该更换$SIG{__DIE__}使用*CORE::GLOBAL::die.但是,这两者并不等同.*CORE::GLOBAL::die是不是当发生运行时错误叫!它只是替换显式调用die().
我对更换模具不感兴趣.
我特别感兴趣的是捕获运行时错误.
我需要确保在任何模块中任何深度的任何函数中的任何运行时错误都会导致Perl将控制传递给我,以便我可以收集堆栈跟踪并重新抛出.这需要在eval块内部工作 - 一个或多个封闭的eval块可能想要捕获异常,但运行时错误可能是在任何模块内部没有封闭eval的函数中.
$SIG{__DIE__} 完美支持这一点 - 并忠实地为我服务了几年或更长时间 - 但Be™警告说,这个梦幻般的设施可能会随时被抢走,我不希望有一天会有令人讨厌的惊喜.
理想情况下,对于Perl本身,它们可以$SIG{__RTMERR__}为此目的创建一个新信号(无论如何,切换信号很容易,因为它只挂在一个地方).不幸的是,我的说服力不会导致酗酒者破解瓶子,所以假设不会发生这种情况,那么人们究竟应该如何才能实现干净地捕捉运行时错误的目标呢?
(例如,这里的另一个答案是推荐Carp :: Always,它也挂钩了DIE!)
下面的代码确实编译,但为什么我会得到一个运行时异常?
String b = null;
System.out.println(b.getClass());
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
即使将对象设置为null,如何获取对象的类型?
编辑 我意识到没有对象存在,但仍然有一个String类型的对象b.即使它没有对象,它仍然有一个类型.如何获取对象的类型,无论它是否包含对象,或者它是否存在.
我正在尝试创建一个用测试用户填充数据库的脚本.我是Django和Python的新手.我继续得到:
Runtime error: App registry isn't ready yet.
Run Code Online (Sandbox Code Playgroud)
这是输出和错误:
starting population script
Traceback (most recent call last):
File "populate.py", line 32, in <module>
populate()
File "populate.py", line 22, in populate
i.save()
File "c:\Python27\lib\site-packages\django-1.7a2-py2.7.egg\django\db\models\base.py", line 603, in save
force_update=force_update, update_fields=update_fields)
...
...
...
File "c:\Python27\lib\site-packages\django-1.7a2-py2.7.egg\django\apps\registry.py", line 156, in get_models
self.check_ready()
File "c:\Python27\lib\site-packages\django-1.7a2-py2.7.egg\django\apps\registry.py", line 119, in check_ready
raise RuntimeError("App registry isn't ready yet.")
RuntimeError: App registry isn't ready yet.
Run Code Online (Sandbox Code Playgroud)
这是代码:
import os
import datetime
def populate():
freer = User.objects.create_user( 'joyyie', 'lolcats@gmail.com', 'e') …Run Code Online (Sandbox Code Playgroud) 我尝试运行时收到此错误php artisan (anything):
PHP Catchable fatal error: Argument 2 passed to
Illuminate\Routing\UrlGenerator::__construct()
must be an instance of Illuminate\Http\Request, null given, called in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php
on line 56 and defined in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php
on line 81
Catchable fatal error: Argument 2 passed to
Illuminate\Routing\UrlGenerator::__construct()
must be an instance of Illuminate\Http\Request, null given, called in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php
on line 56 and defined in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php
on line 81
Run Code Online (Sandbox Code Playgroud)
我完全不知道造成它的原因是什么,需要帮助.
提前致谢
runtime-error ×10
java ×3
python ×3
c# ×1
debugging ×1
django ×1
django-1.7 ×1
ios ×1
laravel ×1
laravel-5 ×1
matplotlib ×1
numpy ×1
perl ×1
php ×1
runtime ×1