Tag: 线程exception

PHP:例外与错误?

也许我在PHP手册的某处丢失了它,但是错误和exception究竟有什么区别呢? 我可以看到的唯一区别是错误和exception处理方式不同。 但是什么导致了一个exception,并导致错误?

处理来自Java ExecutorService任务的exception

我正在尝试使用Java的ThreadPoolExecutor类来运行具有固定数量的线程的大量重量级任务。 每个任务都有很多地方可能由于例外而失败。 我已经子类ThreadPoolExecutor ,我已经重写了afterExecute方法应该提供任何运行任务时遇到的未捕获的exception。 但是,我似乎无法使其工作。 例如: public class ThreadPoolErrors extends ThreadPoolExecutor { public ThreadPoolErrors() { super( 1, // core threads 1, // max threads 1, // timeout TimeUnit.MINUTES, // timeout units new LinkedBlockingQueue<Runnable>() // work queue ); } protected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); if(t != null) { System.out.println("Got an error: " […]

UnauthorizedAccessException无法parsingDirectory.GetFiles失败

Directory.GetFiles方法在第一次遇到一个没有访问权限的文件夹时失败。 该方法抛出一个UnauthorizedAccessException(可以被捕获),但到这个时候,该方法已经失败/终止。 我使用的代码如下所示: try { // looks in stated directory and returns the path of all files found getFiles = Directory.GetFiles( @directoryToSearch, filetype, SearchOption.AllDirectories); } catch (UnauthorizedAccessException) { } 据我所知,没有办法事先检查某个文件夹是否有访问权限定义。 在我的示例中,我通过networking在磁盘上search,当我遇到仅限根访问权限的文件夹时,我的程序失败。

如何在Java中使用reflection来实例化内部类?

我尝试实例化下面的Java代码中定义的内部类: public class Mother { public class Child { public void doStuff() { // … } } } 当我试图得到像这样的孩子的一个实例 Class<?> clazz= Class.forName("com.mycompany.Mother$Child"); Child c = clazz.newInstance(); 我得到这个例外: java.lang.InstantiationException: com.mycompany.Mother$Child at java.lang.Class.newInstance0(Class.java:340) at java.lang.Class.newInstance(Class.java:308) … 我错过了什么?

捕捉Throwable是不好的做法?

捕捉Throwable是不好的做法? 比如像这样的东西: try { // Some code } catch(Throwable e) { // handle the exception } 这是一个不好的做法,或者我们应该尽可能具体?

捕获asynchronous方法引发的exception

使用Microsoft for .NET的async ctp,是否有可能捕获调用方法中的asynchronous方法引发的exception? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown For example, DoSomethingAsync get's data from the network and the data is invalid… a ProtocolException might be thrown */ } public void DoFoo() { try { Foo(); } catch (ProtocolException […]

Image.Save(..)抛出一个GDI +exception,因为内存stream已closures

我有一些我想保存为图像的二进制数据。 当我尝试保存图像时,如果用于创build图像的内存stream在保存之前closures,则会引发exception。 我这样做的原因是因为我dynamic创build图像,因此我需要使用内存stream。 这是代码: [TestMethod] public void TestMethod1() { // Grab the binary data. byte[] data = File.ReadAllBytes("Chick.jpg"); // Read in the data but do not close, before using the stream. Stream originalBinaryDataStream = new MemoryStream(data); Bitmap image = new Bitmap(originalBinaryDataStream); image.Save(@"c:\test.jpg"); originalBinaryDataStream.Dispose(); // Now lets use a nice dispose, etc… Bitmap2 image2; using (Stream […]

什么可能导致java.lang.reflect.InvocationTargetException?

那么,我试图理解和阅读什么可能会导致它,但我无法得到它: 我有我的代码在这个地方: try{ .. m.invoke(testObject); .. } catch(AssertionError e){ … } catch(Exception e){ .. } 事情是,当它试图调用某个方法时,它抛出InvocationTargetException而不是其他一些预期的exception(特别是ArrayIndexOutOfBoundsException )。 因为我真的知道什么方法被调用,我直接去了这个方法的代码,并添加了一个try-catch块的行,假设抛出ArrayIndexOutOfBoundsException ,它真的抛出ArrayIndexOutOfBoundsException预期。 然而,当它上升到某种程度上更改为InvocationTargetException并在上面的代码catch(Exception e) e是InvocationTargetException而不是ArrayIndexOutOfBoundsException如预期。 什么可能导致这样的行为,或者我该如何检查这样的事情?

C#中的exception有多昂贵?

C#中的exception有多昂贵? 只要堆栈不深,似乎并不是非常昂贵; 但是我读到了相互矛盾的报道。 有没有被反驳的确切的报告?

在Android中设置全局未捕获的exception处理程序的理想方法

我想为我的Android应用程序中的所有线程设置全局未捕获的exception处理程序。 所以,在我的Application子类中,我将Thread.UncaughtExceptionHandler的实现设置为未捕获exception的默认处理程序。 Thread.setDefaultUncaughtExceptionHandler( new DefaultExceptionHandler(this)); 在我的实现中,我试图显示一个AlertDialog显示适当的exception消息。 但是,这似乎并不奏效。 无论何时,任何未处理的线程都会抛出exception,我得到股票,操作系统默认对话框(“Sorry!-Application-has-stopped-unexpectedly dialog”)。 什么是正确和理想的方式来设置未捕获的exception的默认处理程序?