Skip to main content
June 18, 2012
Answered

Output exception NullPointer Exception

  • June 18, 2012
  • 1 reply
  • 1305 views

Hi all

I get this error when updating a record:

The cause of this output exception was that: java.lang.NullPointerException.

78 :    MEETING= <cfqueryparam cfsqltype="cf_sql_timestamp" value="#meetingDate#" />

This is the code that sets the meetingDate:

<cfset meetingDate = trim(form.meeting)>

<cfif not isDate(meetingDate)>

<cfelseif DayOfWeek(Now()) eq 5>

<cfset meetingDate = dateAdd("d", 4, now())>

<cfelseif DayOfWeek(Now()) eq 1>

<cfset meetingDate = dateAdd("d", 3, now())>

<cfelse>

<cfset meetingDate = dateAdd("d", 2, now())>

</cfif>

It works when I use this code, but I am using some more conditions now:

<cfset meetingDate = trim(form.meeting)>

<cfif not isDate(meetingDate)>

<cfset meetingDate = dateAdd("d", 2, now())>

</cfif>

Why does it throw the java error? Thank you

    This topic has been closed for replies.
    Correct answer

    I changed the code to get rid of anything other than DayOfWeek values but it still adds two days to today's date when today is a wednesday, I don't see where this could happen in the code, why is this happening?

    <!--- set var meetingdate as a string --->

    <cfset meetingDate = "testvalue">

    <!---if DayOfWeek(Now()) eq 2,3 (monday, tuesday) add 2 days to today's date--->

    <cfif  DayOfWeek(Now()) eq 2 OR 3>
    <cfset meetingDate = dateAdd("d", 2, now())>


    <!---if DayOfWeek(Now()) eq 1 sunday add 1 day to today's date--->

    <cfelseif DayOfWeek(Now()) eq 1>
    <cfset meetingDate = dateAdd("d", 1, now())>

    <!---if DayOfWeek(Now()) eq 5 thursday add 4 days to today's date--->

    <cfelseif DayOfWeek(Now()) eq 5>
    <cfset meetingDate = dateAdd("d", 4, now())>


    <!---if DayOfWeek(Now()) eq 6 (friday) add 3 days to today's date--->

    <cfelseif DayOfWeek(Now()) eq 6>
    <cfset meetingDate = dateAdd("d", 3, now())>


    <!-- otherwise set var meetingdate as a different string--->
    <cfelse>
    <cfset meetingDate = "testvalueelse">


    </cfif>
    <cfoutput>#meetingdate#</cfoutput>


    I thought it was the onrequestend but it was actually for some reason using OR with the eq that messed it up, I just broke it down so instead of doing

    <cfif DayOfWeek(Now()) eq 2 OR 3>

    I did this:

    <!--- Monday --->

    <cfif DayOfWeek(Now()) eq 2>

    <cfset meetingDate = dateAdd("d", 2, now())>

    <!--- Tuesday --->

    <cfelseif DayOfWeek(Now()) eq 3>

    <cfset meetingDate = dateAdd("d", 2, now())>

    <!--- Wednesday --->

    <cfelseif DayOfWeek(Now()) eq 4>

    <cfset meetingDate = dateAdd("d", 2, now())>

    <!--- Thursday --->

    <cfelseif DayOfWeek(Now()) eq 5>

    <cfset meetingDate = dateAdd("d", 4, now())>

    <!--- Friday --->

    <cfelseif DayOfWeek(Now()) eq 6>

    <cfset meetingDate = dateAdd("d", 3, now())>

    <!--- Saturday --->

    <cfelseif DayOfWeek(Now()) eq 7>

    <cfset meetingDate = dateAdd("d", 2, now())>

    <!--- Sunday --->

    <cfelseif DayOfWeek(Now()) eq 1>

    <cfset meetingDate = dateAdd("d", 1, now())>

    </cfif>

    1 reply

    Inspiring
    June 18, 2012

    When in doubt, look at your data.  What is the value of form.meeting?  What is the value of meetingDate after the block of code?

    I suggest outputting bits of text after each if, elseif, and else tag so you can see which ones return true.

    June 20, 2012

    Thanks Dan I have been doing lots of tests with cfdump etc. I have got the following code now for the conditionals, I think it is correctly setout now, but how do I check to see if a query value exists in the cfelseif conditional (I have a query called qholidays that checks dates in a table that must be taken into consideration in the cfelseif) Thank you

    <!--- set var meetingdate as the value in the form --->
    <cfset meetingDate = trim(form.meeting)>

    <!---if form.meetingdate is empty and DayOfWeek(Now()) eq 2,3,4 (monday, tuesday or wednesday) add 2 days to today's date--->

    <cfif not isDate(meetingDate) and DayOfWeek(Now()) eq 2,3,4>
    <cfset meetingDate = dateAdd("d", 2, now())>

    <!---if form.meetingdate is empty and DayOfWeek(Now()) eq 1 sunday and monday is not a value in qholidays add 1 day to today's date--->

    <cfelseif DayOfWeek(Now()) eq 1>
    <cfset meetingDate = dateAdd("d", 1, now())>

    <!---if form.meetingdate is empty and DayOfWeek(Now()) eq 5 thursday and monday is not a value in qholidays add 4 days to today's date--->

    <cfelseif DayOfWeek(Now()) eq 5>

    <cfset meetingDate = dateAdd("d", 4, now())>

    <!---if form.meetingdate is empty and DayOfWeek(Now()) eq 6 (friday) and monday is not a value in qholidays add 3 days to today's date--->

    <cfelseif DayOfWeek(Now()) eq 6>
    <cfset meetingDate = dateAdd("d", 3, now())>

    <!-- otherwise set var meetingdate as the value in the form--->

    <cfelse>
    <cfset meetingDate = trim(form.meeting)>

    </cfif>

    Inspiring
    June 20, 2012

    If you have all that stuff working correctly, leave it and check to see if your meetingDate is a holiday afterwards.