java:exceptions_throwing
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
java:exceptions_throwing [2015/03/09 07:11] – gthanos | java:exceptions_throwing [2021/03/23 07:34] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Δημιουργία νέων τύπων εξαιρέσεων και πυροδότηση εξαίρεσης ====== | ====== Δημιουργία νέων τύπων εξαιρέσεων και πυροδότηση εξαίρεσης ====== | ||
- | Στις προηγούμενες ενότητες είδαμε τον τρόπο με τον οποίο χειριζόμαστε μια εξαίρεση. Μέχρι αυτό το σημείο έχουμε αναφερθεί σε εξαιρέσεις που παρέχονται από κλάσεις του συστήματος. Πως όμως δημιουργούνται | + | Στις προηγούμενες ενότητες είδαμε τον τρόπο με τον οποίο χειριζόμαστε μια εξαίρεση. Μέχρι αυτό το σημείο έχουμε αναφερθεί σε εξαιρέσεις που παρέχονται από κλάσεις της βασικής βιβλιοθήκης. Πως όμως δημιουργούνται |
- | Επανερχόμενοι στο παράδειγμα ανάγνωσης | + | Επανερχόμενοι στο προηγούμενο παράδειγμα, |
- | <code java EmptyFileException.java> | + | <code java AbnormalSituationException.java> |
- | public class EmptyFileException | + | public class AbnormalSituationException |
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
} | } | ||
</ | </ | ||
- | Όπως | + | Κατά την ανάγνωση από την γραμμή εντολών, εφόσον συμβεί ένα |
- | <code java WholeFileReader.java> | + | <code java ExceptionHandling.java> |
- | import java.io.*; | + | import java.util.Scanner; |
- | import java.lang.*; | + | import java.util.NoSuchElementException; |
+ | import java.util.InputMismatchException; | ||
- | public class WholeFileReader | + | public class ExceptionHandling |
- | + | | |
- | public | + | public |
- | FileReader fReader = null; | + | |
- | | + | |
try { | try { | ||
- | | + | |
- | fReader = new FileReader(file); | + | } catch(NoSuchElementException |
- | BufferedReader in = new BufferedReader(fReader); | + | throw new AbnormalSituationException(" |
- | String inputLine; | + | |
- | StringBuffer strDocument = new StringBuffer(); | + | |
- | try { | + | |
- | while ((inputLine = in.readLine()) != null) { | + | |
- | strDocument.append(inputLine); | + | |
- | } | + | |
- | + | ||
- | } | + | |
- | | + | |
- | 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 | + | public static |
- | | + | |
- | | + | |
- | System.out.println(wfr.readFile(args[0]) | + | System.out.println(" |
- | } | + | int height = readInt(sc); |
- | | + | |
- | System.out.println("No file has been specified!\n"); | + | |
- | } | + | |
- | | + | public static void main(String []args) { |
- | System.out.println("The specified file was not found at "+ args[0]); | + | |
- | } | + | try (Scanner sc = new java.util.Scanner(System.in)){ |
- | catch(EmptyFileException ex) { | + | ratio = getRatio(sc); |
- | System.out.println("File is empty!!!" | + | System.out.format("Ratio: %.2f", ratio); |
+ | } catch(AbnormalSituationException | ||
+ | System.out.println(ex); | ||
+ | StackTraceElement[] st = ex.getStackTrace(); | ||
+ | for(StackTraceElement e: st) | ||
+ | System.out.println(e); | ||
} | } | ||
} | } | ||
- | |||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | |Προηγούμενο: | ||
java/exceptions_throwing.1425885084.txt.gz · Last modified: 2015/03/09 07:11 by gthanos