User Tools

Site Tools


java:exceptions_intro

This is an old revision of the document!


Αντικείμενο της εξαίρεσης (exception object)

Κάθε εξαίρεση που μπορεί να προκληθεί παράγει ένα αντικείμενο το οποίο περιέχει όλες τις πληροφορίες που έχουν να κάνουν με το λάθος το οποίο έχει προκύψει, όπως ο τύπος του λάθους και την κατάσταση που βρισκόταν το πρόγραμμα όταν έγινε το λάθος αυτό.

Σε αυτό το σημείο ας δούμε ένα πολύ απλό και συχνό λάθος που μπορεί να προκύψει αν δεν λάβει σχετική μέριμνα ο προγραμματιστής.

TestDivideByZero.java
import java.io.*;
import java.util.Scanner;
public class TestDivideByZero {
 
   public static void main (String[] args) {
      int x;
      int y;
      int result;
      Scanner input = new Scanner(System.in);
 
      System.out.print( "Enter first integer: " );
      x = input.nextInt();
 
      System.out.print( "Enter second integer: " );
      y = input.nextInt();
 
      result = x/y;
 
      System.out.printf( "Product is %d\n", result );
   }
}

Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα;

Όπως καταλαβαίνουμε, θα πρέπει να προβλέψουμε όλες τις περιπτώσεις (ή τουλάχιστον τις πιο βασικές) στις οποίες ο χρήστης είτε από λάθος είτε επειδή είναι κακόβουλος θα δώσει σαν είσοδο κάτι το οποίο δεν είναι σωστό και θα προκαλέσει πρόβλημα. Το παραπάνω παράδειγμα είναι ένα από τα προβλήματα που μπορούν να δημιουργηθούν σε ένα πρόγραμμα. Ο προγραμματιστής καλείται να το αντιμετωπίσει προκειμένου να μην σταματήσει η εκτέλεση του προγράμματος.

Στο παραπάνω παράδειγμα συνεπώς, το σύστημα θα παράξει ένα αντικείμενο που θα περιγράφει το είδος του λάθους που συνέβη. Ο προγραμματιστής πρέπει:

  1. να λάβει το αντικείμενο
  2. να εξετάσει το λάθος που έχει προκύψει
  3. να αντιμετωπίσει το λάθος, ώστε το πρόγραμμά να επιστρέψει σε ένα σημείο από όπου μπορεί να συνεχίσει τη λειτουργία του χωρίς πρόβλημα.
java/exceptions_intro.1487258340.txt.gz · Last modified: 2017/02/16 15:19 by gthanos