You need to sign in to do that
Don't have an account?
sfp
Process Selected Users Records catch the exception still process another records.
Hi All,
In my Visual force page, I have selected 10 records, I have process in apex class, in between 5th records is having some exception. Its not procesing below records. Please help out this issue.
try {
for(User user: selectedUsers) {
User__c pbxUser = new User__c();
if (user.FirstName.length() > 32) {
pbxUser.FirstName__c = user.FirstName.substring(0, 32); //(String) user.get('FirstName');
} else {
pbxUser.FirstName__c = user.FirstName;
}
if (user.LastName.length() > 32) {
pbxUser.LastName__c = user.LastName.substring(0, 32); //(String) user.get('LastName');
} else {
pbxUser.LastName__c = user.LastName;
}
if (user.Username.length() > 64) {
pbxUser.Username__c = user.Username.right(64);
} else {
pbxUser.Username__c = user.Username; //(String) user.get('Username');
}
pbxUser.User__c = user.Id; //(String) user.get('Id');
String mobilePhone = user.MobilePhone; //(String) user.get('MobilePhone');
if(mobilePhone == null) {
pbxUser.MobilePhone__c = '0000';
} else {
if (mobilePhone.length() > 24) {
pbxUser.MobilePhone__c = mobilePhone.substring(0, 24);
} else {
pbxUser.MobilePhone__c = mobilePhone;
}
}
pbxUser.Status__c = 'ACTIVE';
//system.debug(pbxUser);
pbxUsers.add(pbxUser);
}
addUsers(pbxUsers);
sfUserList=null; // we need this line if we performed a write operation because getUsers gets a fresh list now
} catch (Exception e) {
ApexPages.Message msg = new ApexPages.Message(ApexPages.Severity.ERROR, e.getMessage());
ApexPages.addMessage(msg);
}
In my Visual force page, I have selected 10 records, I have process in apex class, in between 5th records is having some exception. Its not procesing below records. Please help out this issue.
try {
for(User user: selectedUsers) {
User__c pbxUser = new User__c();
if (user.FirstName.length() > 32) {
pbxUser.FirstName__c = user.FirstName.substring(0, 32); //(String) user.get('FirstName');
} else {
pbxUser.FirstName__c = user.FirstName;
}
if (user.LastName.length() > 32) {
pbxUser.LastName__c = user.LastName.substring(0, 32); //(String) user.get('LastName');
} else {
pbxUser.LastName__c = user.LastName;
}
if (user.Username.length() > 64) {
pbxUser.Username__c = user.Username.right(64);
} else {
pbxUser.Username__c = user.Username; //(String) user.get('Username');
}
pbxUser.User__c = user.Id; //(String) user.get('Id');
String mobilePhone = user.MobilePhone; //(String) user.get('MobilePhone');
if(mobilePhone == null) {
pbxUser.MobilePhone__c = '0000';
} else {
if (mobilePhone.length() > 24) {
pbxUser.MobilePhone__c = mobilePhone.substring(0, 24);
} else {
pbxUser.MobilePhone__c = mobilePhone;
}
}
pbxUser.Status__c = 'ACTIVE';
//system.debug(pbxUser);
pbxUsers.add(pbxUser);
}
addUsers(pbxUsers);
sfUserList=null; // we need this line if we performed a write operation because getUsers gets a fresh list now
} catch (Exception e) {
ApexPages.Message msg = new ApexPages.Message(ApexPages.Severity.ERROR, e.getMessage());
ApexPages.addMessage(msg);
}
this way your exception in any record will not block processing of items after it.
Thanks
Shashikant