Coverage Summary for Class: HelpfulNPE (dev.suresh.npe)

Class Method, % Branch, % Line, % Instruction, %
HelpfulNPE 0% (0/2) 0% (0/2) 0% (0/7) 0% (0/43)
HelpfulNPE$Address 0% (0/1) 0% (0/1) 0% (0/14)
HelpfulNPE$Country 0% (0/1) 0% (0/1) 0% (0/14)
HelpfulNPE$Customer 0% (0/1) 0% (0/1) 0% (0/14)
Total 0% (0/5) 0% (0/2) 0% (0/10) 0% (0/85)


 package dev.suresh.npe;
 
 public class HelpfulNPE {
 
   public static void run() {
     try {
       String name = new Customer(new Address(null)).address.country.name;
       System.out.println(name);
     } catch (NullPointerException npe) {
       System.out.printf("Helpful NPE: %s%n", npe.getMessage());
       assert npe.getMessage()
           .equals(
               """
                     Cannot read field "name" because "address.country" is null""");
     }
   }
 
   record Customer(Address address) {}
 
   record Address(Country country) {}
 
   record Country(String name) {}
 }