小编Sum*_*was的帖子

抛出异常而不破坏java中的循环

我需要在java内部循环中处理自定义异常,所以我抛出新的自定义异常,但它打破了循环.如何在不破坏循环的情况下设法抛出循环.这是我的代码

    for (int i = 0; i < j; i++) {
        File currFile = arrayOfFile1[i];
        if (currFile.isFile()) {
            if (currFile.exists()) {
                try {
                    String fileName = currFile.getName();
                    if (fileName.startsWith("~$")) {
                        continue;
                    } else {
                        if ((fileName.endsWith(".xlsx")) || (fileName.endsWith(".xls"))) {
                            if (fileName.endsWith("_arch.xlsx") || fileName.endsWith("_arch.xls")) {
                                continue;
                            }
                            try {
                                IDSOutputGenerator.generateOutput(currFile.getAbsolutePath(), "", outputType,
                                        false);
                            } catch (CheckErrorHandle e) {
                                throw new CheckErrorHandle();
                            }
                        }
                        else if (fileName.endsWith(".xml")) {
                            try {
                                IDSOutputGenerator.generateOutput(currFile.getAbsolutePath(), "", outputType,
                                        false);
                            } catch (CheckErrorHandle e) {
                                throw new CheckErrorHandle(); …
Run Code Online (Sandbox Code Playgroud)

java exception-handling

2
推荐指数
1
解决办法
5877
查看次数

如何在c#中的backgroundworker中打开另一个窗口窗体

我需要在 backgroundworker 中运行一个耗时的过程,在这个过程中我也需要打开一个窗口。一切正常,但是当我在该过程中调用 UI 时,它不允许我在该新窗口中工作,它只显示等待,当我取消后台工作进程时,它也不会取消,尽管我启用了 workersupportcancel。这是我的代码

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        BackgroundWorker worker = sender as BackgroundWorker;
        runCheck();    
    }

    private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        if (e.Error != null)
        {
            MessageBox.Show(e.Error.Message);
        }           
    }
    private void newBtncheck_Click(object sender, RibbonControlEventArgs e)
    {
        backgroundWorker1.RunWorkerAsync();
    }       

 private void newBtncheck_Click(object sender, RibbonControlEventArgs e)
    {
        backgroundWorker1.RunWorkerAsync();
    }
    private void btnStop_Click(object sender, RibbonControlEventArgs e)
    {
        this.backgroundWorker1.CancelAsync();
    }
Run Code Online (Sandbox Code Playgroud)

c# vsto

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

标签 统计

c# ×1

exception-handling ×1

java ×1

vsto ×1