sphinx4 icon indicating copy to clipboard operation
sphinx4 copied to clipboard

FeatureFileDumper main method could handle exceptions better

Open davidmoten opened this issue 10 years ago • 2 comments

The main method in FeatureFileDumper catches exceptions and writes to System.err but does not exit the process with a non-zero exit code nor throw a RuntimeException. One of these should occur.

        try {
            ...
        } catch (IOException ioe) {
            System.err.println("I/O Error " + ioe);
        } catch (PropertyException p) {
            System.err.println("Bad configuration " + p);
        }

davidmoten avatar Jan 12 '15 06:01 davidmoten

Thank you for your report. In processing large databases it's ok to have issues. Stopping the work is not a good idea the, it's better to warn and proceed. The filedumper needs rewokr though.

nshmyrev avatar Jan 12 '15 21:01 nshmyrev

I agree that sometimes the caller would want problems to be ignored but it should be up to the caller to do the ignoring (or not ignore). Putting output to stderr only is not a great way of signaling a problem in my opinion.

My reading indicates that the consensus for main method usage is to call System.exit as the main method is expected to be called from scripts rather than Java code. Scripts can ignore errors if they want to. On 13 Jan 2015 08:14, "Nickolay V. Shmyrev" [email protected] wrote:

Thank you for your report. In processing large databases it's ok to have issues. Stopping the work is not a good idea the, it's better to warn and proceed. The filedumper needs rewokr though.

— Reply to this email directly or view it on GitHub https://github.com/cmusphinx/sphinx4/issues/18#issuecomment-69647003.

davidmoten avatar Jan 12 '15 21:01 davidmoten