java - Why does my program not accept a custom exception? -
i trying make cat
clone , i'm requiring receive input when presented -
.
the main(); here:
import java.io.*; import java.util.*; class cat { public static void main(string[] args) { (int = 0; < args.length; i++) { try{ fileprint(args[i]); } catch(dashexception letstrythis){ catdash(); } catch(filenotfoundexception wrong) { system.err.println(string.format("%s: file not found.", args[i])); } catch (ioexception nowords) { system.err.println(string.format("%s: file can't read.", args[i])); } } } }
fileprint()
prints file line line , catdash()
receives , prints stdin. nothing special.
what i'm trying have custom exception catches -
, calls catdash()
(first catch block above). however, no matter what, try/catch block throws filenotfound wrong
exception (second catch block above). question is, how catch specific cause , throw first before second block does?
my dashexception
defined own file:
import java.lang.throwable; public class dashexception extends filenotfoundexception{ public dashexception(throwable cause){ super("-") } }
you not throw custom exception anywhere. need throw
in own code in try
block. e.g.:
if (args[i].equals("-")) { throw new dashexception(); }
and can remove th
constuctor, there no root cause exception.
Comments
Post a Comment