小编Fre*_*chs的帖子

“重新抛出”到下一个 catch 子句

如果有一个带有多个 catch 块的 try-catch,有没有办法将异常重新抛出到下一个(不是底层)catch 子句?

例子:

try {

  // some exception can occur here

} catch (MyException ex) {

  // do something specific

  // rethrow ex to next catch

} catch (Exception ex) {

  // do logging stuff and other things to clean everything up
}
Run Code Online (Sandbox Code Playgroud)

当MyException抛出 a 时,我想处理该异常的特定内容,但随后我想处理一般异常 ( catch (Exception ex))。

我不想使用 finally-block 并且 Java 7 Multi-catch 在这里也没有帮助。

任何想法如何处理这个,我想避免每个捕获块中的冗余内容。Exception只捕获然后instanceof用于我的特定东西更好吗?

谢谢。

java exception try-catch

6
推荐指数
1
解决办法
3149
查看次数

如何查找最初启动线程的位置

假设我有一个应用程序可以生成多个线程,如果需要做任务...所以没什么特别的.我使用Eclipse编写和调试Java应用程序.一个线程(让我们称之为"异步任务")在离开run()方法后立即重新生成(所以有bug并且我想找到这种行为的原因).

我的问题是,如果我使用eclipse IDE(调试透视图...)暂停此线程"异步任务",是否有办法找出最初启动此线程的位置(例如使用Debug视图或任何其他)?因为我想知道是谁产生了这个帖子(没有进行文本搜索或类似的东西).

有没有一个很好的方法来获取这些信息?

java eclipse debugging multithreading

5
推荐指数
1
解决办法
1177
查看次数

Windows RT - StorageFile 的同步使用

我想编写一个 Win8 应用程序,在那里我使用一个Configuration带成员的类static,该类在启动时加载一次,并且可以在运行时从任何地方访问。

所以,主要问题是,默认设置存储在xml文件中,但是读取文件内容是异步的(StorageFile),但我没有找到任何解决方案来等待,直到文件完全加载,因为它无法使用await在每种情况下(主线程、构造函数),在我看来都是设计问题。Configuration如果在访问数据之前未完全读取文件,则此应用程序将出现不正确的行为。

这是一个示例代码:

public class Configuration
{
    // stores the only instance of this class
    private Configuration instance = null;

    // public access to the instance
    public Configuration Current
    {
        get
        {
            if (instance == null)
            {
                instance = new Configuration();
            }

            return instance;
        }
    }

    private Configuration()
    {
        // load data from file synchronously
        // so it is loaded once on first access
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何解决这个问题,可能我需要改变我的Configuration …

c# async-await windows-runtime storagefile

3
推荐指数
1
解决办法
2383
查看次数