not sure about that. Checked exception is a leak into client code and everyone despise them. It will only end with a 

Person p  = null;
try { p = get(...) } catch () { //do nothing }
....

In this case, I rather null then checked exceptions. Runtime Exception could be  a solution but defo not a list access exception