My guess is that you probably don't have snippets on campaign level but rather on account or adGroup level.
And the error is because you assign value to a variable without making sure that the iterator returns any values.
Btw: You should rather get a typeError because of whitespace and wrong casing in your code.
function main() {
var iter = AdsApp.currentAccount().extensions().snippets().get();
while (iter.hasNext()) {
var extension = iter.next();
Logger.log(extension.getEntityType())
Logger.log(extension.getValues()+'\n\n')
}
Logger.log('\n\n----\n\n');
var iter = AdsApp.campaigns()
.withCondition('CampaignStatus = ENABLED')
.get();
while (iter.hasNext()) {
var entity = iter.next();
var extIter = entity.extensions().snippets().get();
while (extIter.hasNext()) {
var extension = extIter.next();
Logger.log(extension.getEntityType())
Logger.log(extension.getCampaign().getName())
Logger.log(extension.getValues()+'\n\n')
}
}
Logger.log('\n\n----\n\n');
var iter = AdsApp.adGroups()
.withCondition('CampaignStatus = ENABLED')
.get();
while (iter.hasNext()) {
var entity = iter.next();
var extIter = entity.extensions().snippets().get();
while (extIter.hasNext()) {
var extension = extIter.next();
Logger.log(extension.getEntityType())
Logger.log(extension.getAdGroup().getName())
Logger.log(extension.getValues()+'\n\n')
}
}
}