Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Eiffel: the language
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Analysis and Testing of Programs with Exception Handling Constructs
IEEE Transactions on Software Engineering
Designing robust Java programs with exceptions
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Exception handling: issues and a proposed notation
Communications of the ACM
Aspect-oriented programming: Introduction
Communications of the ACM
Journal of Systems and Software
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Load-Time Structural Reflection in Java
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
RAIL: code instrumentation for .NET
Proceedings of the 2005 ACM symposium on Applied computing
Making exception handling work
HotDep'06 Proceedings of the Second conference on Hot topics in system dependability
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
A framework for command processing in Java/Swing programs based on the MVC pattern
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
In-field healing of integration problems with COTS components
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Are We Ready for a Safer Construction Environment?
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
A Case for Automatic Exception Handling
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Software Cartography: thematic software visualization with consistent layout
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
A transactional model for automatic exception handling
Computer Languages, Systems and Structures
Information Sciences: an International Journal
Atomic boxes: coordinated exception handling with transactional memory
Proceedings of the 25th European conference on Object-oriented programming
Exposing behavioral differences in cross-language API mapping relations
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
New exception interfaces for Java-like languages
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Exception handlers for healing component-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
Most modern programming languages rely on exceptions for dealing with abnormal situations. Although exception handling was a significant improvement over other mechanisms like checking return codes, it is far from perfect. In fact, it can be argued that this mechanism is seriously limited, if not, flawed. This paper aims to contribute to the discussion by providing quantitative measures on how programmers are currently using exception handling. We examined 32 different applications, both for Java and .NET. The major conclusion for this work is that exceptions are not being correctly used as an error recovery mechanism. Exception handlers are not specialized enough for allowing recovery and, typically, programmers just do one of the following actions: logging, user notification and application termination. To our knowledge, this is the most comprehensive study done on exception handling to date, providing a quantitative measure useful for guiding the development of new error handling mechanisms.