2014-11-12 1 views
3

Я получаю эту ошибку на одной из моих страниц: Элемент 9 не определен в структуре CFML, на которую ссылается как часть выражения. Я даже пытался сбросить эту конкретную структуру, и результат такой же.Элемент xx не определен в структуре CFML, на который ссылается как часть выражения

<cfdump var="#(request.session.cust.dra_info[versionid].bm[gradecd]#"> 

Error

The [VerionID] причина я получаю эту ошибку. Versionid может появиться как 9, который не существует. Этот versionid и gradecd исходят из запроса. Вот дамп этого запроса: Query

Свалка структуры дает мне ниже результат:

<cfdump var="#request.session.cust.dra_info#"> 

enter image description here

Любая помощь/предложение, как я должен обрабатывать эту ошибку?

ответ

2

Эта ошибка означает «Вы передаете значение (в вашем случае 9), которого нет в структуре». Это значение может относиться к versionId или gradecd.
Вам нужно передать только те значения, которые доступны в структуре. Я не могу сказать, как это сделать, не глядя на код.

EDIT
Вы можете сделать как этот

<cfif structKeyExists(request.session.cust.dra_info,"#versionId#")> 
    <cfdump var="#(request.session.cust.dra_info[versionid].bm[gradecd]#"><cfabort> 
<cfelse>  
    <cfdump var="not ok- error handling code"><cfabort> 
</cfif> 
+0

вы правильно Tushar - VERSIONID является причиной. Версия (которая является cmng из запроса) имеет значение 9. Я не уверен, что идея разработчиков, но я новичок в этом приложении. Так что даже я не могу сказать вам, почему такой случай здесь. Но можем ли мы справиться с этой ошибкой, поставив любое условие? – Vasu

+0

Если вы посмотрите на дамп этой структуры выше, «dra_info» имеет только два значения 83 и 86. Следовательно, когда он передает значения как 9, он умирает. Когда я просто закодировал значение как [83], он работал нормально - Vasu

+0

@Vasu, проверьте отредактированный код. –