如果有一个带有多个 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用于我的特定东西更好吗?
谢谢。
假设我有一个应用程序可以生成多个线程,如果需要做任务...所以没什么特别的.我使用Eclipse编写和调试Java应用程序.一个线程(让我们称之为"异步任务")在离开run()方法后立即重新生成(所以有bug并且我想找到这种行为的原因).
我的问题是,如果我使用eclipse IDE(调试透视图...)暂停此线程"异步任务",是否有办法找出最初启动此线程的位置(例如使用Debug视图或任何其他)?因为我想知道是谁产生了这个帖子(没有进行文本搜索或类似的东西).
有没有一个很好的方法来获取这些信息?
我想编写一个 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 …