1 // Test to make sure null arrays throw the right execption 2 3 public class Array_3 4 { foo()5 static Object foo () 6 { 7 return null; 8 } 9 bar()10 static int[] bar () 11 { 12 return null; 13 } 14 baz()15 static int baz () 16 { 17 int[] x = (int[])null; 18 int nn = x.length; 19 return 5; 20 } 21 main(String args[])22 public static void main(String args[]) 23 { 24 boolean ok = false; 25 int nn = 0; 26 27 try 28 { 29 int[] x = (int[])foo(); 30 nn = x.length; 31 } 32 catch (NullPointerException _) 33 { 34 ok = true; 35 } 36 if (!ok) 37 throw new RuntimeException("test failed:1"); 38 39 ok = false; 40 try 41 { 42 int[] x = bar(); 43 nn = x.length; 44 } 45 catch (NullPointerException _) 46 { 47 ok = true; 48 } 49 if (!ok) 50 throw new RuntimeException("test failed:2"); 51 52 ok = false; 53 try 54 { 55 int[] x = bar(); 56 nn = x[0]; 57 } 58 catch (NullPointerException _) 59 { 60 ok = true; 61 } 62 63 if (!ok || nn != 0) 64 throw new RuntimeException("test failed:3"); 65 66 ok = false; 67 try 68 { 69 int[] x = (int[])null; 70 nn = x.length; 71 } 72 catch (NullPointerException _) 73 { 74 ok = true; 75 } 76 if (!ok) 77 throw new RuntimeException("test failed:4"); 78 79 ok = false; 80 try 81 { 82 nn = baz (); 83 } 84 catch (NullPointerException _) 85 { 86 ok = true; 87 } 88 if (!ok) 89 throw new RuntimeException("test failed:5"); 90 } 91 } 92