You are here:

Students’ Strategies for Exception Handling

, , The Max Stern Academic College of Emek, Israel

JITE-Research Volume 10, Number 1, ISSN 1539-3585 Publisher: Informing Science Institute


This study discusses and presents various strategies employed by novice programmers concerning exception handling. The main contributions of this paper are as follows: we provide an analysis tool to measure the level of assimilation of exception handling mechanism; we present and analyse strategies to handle exceptions; we present and analyse solutions provided by novice programmers; we classify and analyse the participants' reflections concerning their solutions. Modern programming languages, such as Java, provide the programmer an elaborated object oriented exception mechanism; enable him to handle exceptions in a more convenient way. The aim of this study was to discover the strategies novice programmers are using to handle exceptions and whether they utilise the advantage of the modern exception handling mechanism. For that matter the participants (college students) had to provide a written solution to a given problem with a special focus on exception handling. In addition each of them was interviewed. The analysis of the solutions provided was carried out according to a set of software quality criteria (clarity, modularity and extensibility) adapted to exception handling characteristics. These criteria were used to explain the advantages and disadvantages of the solutions from a software engineering perspective. The solutions provided were also analysed according to a classification of levels of assimilation concerning the structure of exceptions, based on the SOLO taxonomy. The first level of assimilation refers to solutions in which no exception mechanism was used, and the errors were handled in the old fashion way (local handling or return of an error code). The fifth and last level refers to solutions that used adequate hierarchy of exception classes allowing easy extension according to future requirements and enabling the handling of multiple exception altogether or handle each separately. In between these levels there are strategies that used exception mechanisms without the exhausting of its advantages. The results obtained reveal that only few participants (7 out of 56) provided a solution that was classified to one of the two highest assimilation levels, while many (23 out of 56) did not use exception mechanism at all. The rest of the students (25 out of 56) used the exception mechanism poorly (i.e., used only Exception class or did not use hierarchy of exceptions). The participants had difficulties in utilising the advanced exception handling mechanisms and in exhibiting a high level of abstraction with regard to the proper design of a hierarchy of exceptions. The students’ statements collected during the interviews were classified into the following categories: misconceptions concerning code quality; misconceptions concerning exception handling; difficulties in understanding the exception handling mechanism; the perceived importance of exception handling; and a lack of programming experience. During the interviews the students provided explanations concerning the reasons they were not fully utilized the exception mechanism. Among them are: lack of practice, too few demonstrated examples, focussing merely on providing a working solution without considering quality issues. Finally we recommend on some modifications to the curriculum, among them: to expose the students earlier to the exception mechanism; to throw built-in Java exception to address validation errors; and to put more attention to quality issues.


Rashkovits, R. & Lavy, I. (2011). Students’ Strategies for Exception Handling. Journal of Information Technology Education: Research, 10(1), 183-207. Informing Science Institute. Retrieved February 23, 2020 from .



View References & Citations Map

These references have been extracted automatically and may have some errors. Signed in users can suggest corrections to these mistakes.

Suggest Corrections to References