【Salesforce】List index out of bounds: 0

Salesforce】List index out of bounds: 0

 

例:

List<custom obj__c> lrecords=[
select Id,name,
from custom obj__c
];

lrecords[0].Fileld1__c = 2;
lrecords[0].Fileld2__c =3;
update lrecords;

上記を実行してlrecordsのリストサイズが0件の場合、lrecords[0]を呼び出し、または値を登録時に発生するエラー

System.ListException: List index out of bounds: 0

 

(対応)案:

List<custom obj__c> lrecords=[
select Id,name,
from custom obj__c
];

if (lrecords.size()>0)
{
lrecords[0].Fileld1__c = 2;
lrecords[0].Fileld2__c =3;
update lrecords;
}

上記のように、リストの結果のサイズを確認して、0件以上だったら、処理する。

 

参考URL

https://developer.salesforce.com/forums/?id=906F000000092gOIAQ