Tag: 线程exception

在一行中捕获多个exception(块除外)

我知道我可以这样做: try: # do something that may fail except: # do this if ANYTHING goes wrong 我也可以这样做: try: # do something that may fail except IDontLikeYouException: # say please except YouAreTooShortException: # stand on a ladder 但如果我想在两个不同的例外情况下做同样的事情,我现在能想到的最好的办法就是这样做: try: # do something that may fail except IDontLikeYouException: # say please except YouAreBeingMeanException: # say please 有什么办法可以做这样的事情吗(因为在这两个例外的行动是say […]

C ++显示堆栈跟踪exception

我想有一种方法来报告堆栈跟踪如果引发exception的用户。 什么是最好的方法来做到这一点? 是否需要大量额外的代码? 回答问题: 如果可能,我希望它是便携式的。 我想要popup的信息,所以用户可以复制堆栈跟踪,并通过电子邮件发送给我,如果出现错误。

C ++是否支持“终于”阻止? (我听说过这个“RAII”是什么?)

C ++是否支持“ 终于 ”阻止? 什么是RAII成语 ? C ++的RAII成语和C#的'using'语句有什么区别?

需要处理未捕获的exception并发送日志文件

更新:请参阅下面的“接受”解决scheme 当我的应用程序创build一个未处理的exception而不是简单地终止时,我想先给用户一个发送日志文件的机会。 我意识到,得到一个随机exception后做更多的工作是有风险的,但是,嘿,最糟糕的是应用程序完成崩溃和日志文件不发送。 这是变得比我想象的更复杂:) 什么工作:(1)捕获未捕获的exception,(2)提取日志信息并写入文件。 什么还没有工作:(3)开始一个活动发送电子邮件。 最终,我还有另一个活动要求用户的许可。 如果我的电子邮件活动正常运作,我不会指望对方有什么麻烦。 问题的症结在于未处理的exception在我的Application类中被捕获。 由于这不是一个活动,所以如何使用Intent.ACTION_SEND启动一个活动并不明显。 也就是说,通常要启动一个调用startActivity的活动,并使用onActivityResult继续。 这些方法由Activity支持,而不是由Application支持。 任何build议如何做到这一点? 以下是一些代码片段作为起始指南: public class MyApplication extends Application { defaultUncaughtHandler = Thread.getDefaultUncaughtExceptionHandler(); public void onCreate () { Thread.setDefaultUncaughtExceptionHandler (new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException (Thread thread, Throwable e) { handleUncaughtException (thread, e); } }); } private void handleUncaughtException (Thread thread, Throwable e) { […]

Python尝试其他

try语句的可选else子句的用意是什么?

如何授予在Gingerbread上运行的应用程序的MODIFY_PHONE_STATE权限

我编写了一个试图修改电话通话状态的应用程序。 它适用于Android 2.2或更低版本,但在Android 2.3上抛出exception,因为android.permission.MODIFY_PHONE_STATE权限(我在AndroidManifest.xml中声明了这个权限)的权限不足。 任何想法? 以下是exception日志: 01-15 09:14:23.210: ERROR/AndroidRuntime(404): FATAL EXCEPTION: main 01-15 09:14:23.210: ERROR/AndroidRuntime(404): java.lang.RuntimeException: Unable to start receiver test.PhoneReceiver: java.lang.SecurityException: Neither user 10031 nor current process has android.permission.MODIFY_PHONE_STATE. 01-15 09:14:23.210: ERROR/AndroidRuntime(404): at android.app.ActivityThread.handleReceiver(ActivityThread.java:1780) 01-15 09:14:23.210: ERROR/AndroidRuntime(404): at android.app.ActivityThread.access$2400(ActivityThread.java:117) 01-15 09:14:23.210: ERROR/AndroidRuntime(404): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:978) 01-15 09:14:23.210: ERROR/AndroidRuntime(404): at android.os.Handler.dispatchMessage(Handler.java:99) 01-15 09:14:23.210: ERROR/AndroidRuntime(404): at android.os.Looper.loop(Looper.java:123) […]

我收到一个IndentationError。 我该如何解决?

我有一个Python脚本: if True: if False: print('foo') print('bar') 但是,当我尝试运行我的脚本时,Python引发了一个IndentationError : File "script.py", line 4 print('bar') ^ IndentationError: unindent does not match any outer indentation level 我一直在玩我的程序,而且还产生了另外三个错误: “IndentationError:意外缩进” “IndentationError:预计一个缩进块” “TabError:在缩进中使用制表符和空格不一致” 这些错误是什么意思? 我究竟做错了什么? 我如何修复我的代码?

何时赶上java.lang.Error?

在什么情况下应该在应用程序上捕获java.lang.Error ?

.NETexception有多慢?

我不想讨论什么时候可以抛出exception。 我想解决一个简单的问题。 99%的时间没有抛出exception的争论围绕着他们慢,而对方声称(与基准testing),速度不是问题。 我读过许多关于一方或另一方的博客,文章和post。 那是哪个呢? 从答案的一些链接: Skeet , Mariani , Brumme 。

java.rmi.ServerException:在服务器线程中发生RemoteException(ClassNotFoundException)

以下方法: private void startServer() { // snippet that starts the server on the local machine try { RemoteMethodImpl impl = new RemoteMethodImpl(); Naming.rebind( "Illusive-Server" , impl ); }catch(Exception exc) { JOptionPane.showMessageDialog(this, "Problem starting the server", "Error", JOptionPane.ERROR_MESSAGE); System.out.println(exc); } } 抛出这个exception: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested […]