How Java Developers define, disseminate and check Exception Handling Policies
Exception handling; Java language; Exception handling policy; Design decisions; Qualitative study, Mining Study
Despite being an old language feature, Java developers still struggle to use exception handling even for basic issues. And since exception handling is essentially a design problem, it is important to understand the motivations and decisions that developers take that eventually become source code. Previous work investigating the exception handling at this level are few and limited, which has led us to conduct two qualitative studies, with a total of 103 participants, on which almost all participants are from different organizations. The first study was conducted over interviews with developers of private organizations. The second was a survey of GitHub developers. Partial results show that nearly half of Java projects do not define rules or recommendations for exceptions' life cycle, and that such rules, when they exist, are implicit, being disseminated and verified through fragile strategies that may not guarantee the use exceptions as planned. A new study, which will confront survey responses with the source code, is in the planning stages.