-4

try/catch/throw ステートメントを含む、Java でのこれら 2 つのデバッグ割り当てを手伝ってくれる人がいるかどうか疑問に思っていました。NetBeans Zip ファイルが添付されているいずれかの割り当てをデバッグする方法がわかりません。

すべてまたは任意のヘルプをいただければ幸いです。ありがとう。

課題 1:

package debugmeone;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
/*
 * This file requires debugging.  This is a partial file to read a text file
 * with simple error checking.  If the file is not found (you are testing this)
 * a FileNotFoundException should be thrown.  The second catch statement is
 * producing an error (red stop sign).  Why?  Your job is to have both
 * Exception and FileNotFoundException in this file.  Do not remove either one
 * of them.  Don't create the file accountrecords.txt; you are testing for
 * a file not found condition so there is no need to create the file.
 *
 * The output should be:
 *
 *   run:
 *   Error - File Not Found: accountrecords.txt
 *   Java Result: 100
 *   BUILD SUCCESSFUL (total time: 0 seconds)
 */

public class ReadTextFile {

    private Scanner input;  // Ignore the hint given by NetBeans

    public void openFile() {
        try
        {
            input = new Scanner( new File("accountrecords.txt"));
        }
        catch(Exception e)
        {
            System.out.println("Something bad just happened here.");
            System.exit(707);
        }
        // Debug this line; what should you do to solve this error message?
        //   Carefully read the error message provided by the IDE
        catch( FileNotFoundException  fnfe)
        {
            System.out.println("Error - File Not Found: accountrecords.txt");
            System.exit(100);
        }
    }
}

課題 2:

package debugmetwo;

/*
* You will need to debug this file.
*
* The output should be:
*
*  run:
*  There is a problem with the Eagle!
*  Java Result: 9999
*  BUILD SUCCESSFUL (total time: 0 seconds)
*/
public class ThrowEagleExceptionTest {

    public static void main(String[] args) {
        try {
         EagleLanding();
        } catch (EagleLandingException badEagle) {
            System.out.printf("%s\n", badEagle.getMessage());
            System.exit(9999);
        }
    }

    private static void EagleLanding {
         EagleLandingException("There is a problem with the Eagle!");
    }
}
4

1 に答える 1

1

デバッガーの目的であるランタイムエラーメッセージではなく、コンパイル時のエラーメッセージがあります。読むべきメッセージは

    // Debug this line; what should you do to solve this error message?
    //   Carefully read the error message provided by the IDE
    catch( FileNotFoundException  fnfe)

IDE に表示されるエラー メッセージを読んで修正する必要があります。ヒント: 最も具体的な例外が最初に来る必要があります。

2 番目の例もコンパイルされません。例外をスローしてコンパイルする必要があります。その方法がわからない場合は、例を見てください。

于 2016-11-05T19:39:20.377 に答える