This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:exceptions_throwing [2021/03/22 19:44] gthanos [Δημιουργία νέων τύπων εξαιρέσεων και πυροδότηση εξαίρεσης] |
java:exceptions_throwing [2021/03/22 19:59] gthanos [Παραγωγή εξαίρεσης] |
||
|---|---|---|---|
| Line 25: | Line 25: | ||
| import java.util.InputMismatchException; | import java.util.InputMismatchException; | ||
| - | public class ExceptionHandling_7 | + | public class ExceptionHandling |
| public static int readInt(Scanner sc) throws AbnormalSituationException { | public static int readInt(Scanner sc) throws AbnormalSituationException { | ||
| Line 57: | Line 57: | ||
| } | } | ||
| </ | </ | ||
| - | ===== Παραγωγή εξαίρεσης ===== | ||
| - | Όπως τονίσαμε και παραπάνω η εξαίρεση είναι και αυτή ένα αντικείμενο. __Για να παράγουμε μία εξαίρεση πρέπει να βάλουμε τη δεσμευμένη λέξη **throw** και δίπλα το αντικείμενο της εξαίρεσης που θέλουμε να καλέσουμε__. Στο παρακάτω παράδειγμα, | ||
| - | |||
| - | <code java WholeFileReader.java> | ||
| - | import java.io.*; | ||
| - | import java.lang.*; | ||
| - | |||
| - | public class WholeFileReader { | ||
| - | | ||
| - | public String readFile(String path) throws FileNotFoundException, | ||
| - | FileReader fReader = null; | ||
| - | | ||
| - | try { | ||
| - | File file = new File (path); | ||
| - | fReader = new FileReader(file); | ||
| - | BufferedReader in = new BufferedReader(fReader); | ||
| - | String inputLine; | ||
| - | StringBuffer strDocument = new StringBuffer(); | ||
| - | try { | ||
| - | while ((inputLine = in.readLine()) != null) { | ||
| - | strDocument.append(inputLine); | ||
| - | } | ||
| - | | ||
| - | } | ||
| - | catch(IOException ex) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | if( strDocument.toString().isEmpty() ) { | ||
| - | throw new EmptyFileException(); | ||
| - | } | ||
| - | return strDocument.toString(); | ||
| - | } | ||
| - | | ||
| - | finally { | ||
| - | if( fReader != null) { | ||
| - | try { | ||
| - | // | ||
| - | fReader.close(); | ||
| - | } | ||
| - | catch(IOException ex) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | | ||
| - | } | ||
| - | | ||
| - | public static void main(String args[]) { | ||
| - | WholeFileReader wfr = new WholeFileReader(); | ||
| - | try { | ||
| - | System.out.println(wfr.readFile(args[0]) ); | ||
| - | } | ||
| - | catch(IndexOutOfBoundsException ex) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | catch(FileNotFoundException ex) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | catch(EmptyFileException ex) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | } | ||
| - | |||
| - | } | ||
| - | </ | ||
| |Προηγούμενο: | |Προηγούμενο: | ||