Toon posts:

[ColdFusion] <cferror type="exception">

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Ik gebruik cferror in mijn Application.cfm om errors af te vangen. Ik wil dat bij een error ik automatisch een e-mail krijg, en daarvoor wil ik dus type="exception" gebruiken en niet type="request". Bij de laatste kun je namelijk geen cfml gebruiken in je error template.

code:
1
2
<cfapplication name="test" clientmanagement="no" sessionmanagement="yes" setclientcookies="yes">
<cferror type="exception" template="scripts/errors/error_handler.cfm">


De code staat allemaal goed volgens mij, alleen hij vangt errors niet op. (ik host bij webstekker, die draaien MX7). Als ik bijvoorbeeld een variabele deel door 0, krijg ik gewoon de standaard coldfusion error. Ook als ik een onbekende variabele output, hetzelfde verhaal.

Zet ik de type op "request", dan vangtie hem wel en krijg ik de error_handler.cfm. Maar de cfml die erin staat, wordt dan niet uitgevoerd.

Ik heb ook al geprobeerd:
code:
1
<cferror type="exception" template="scripts/errors/error_handler.cfm" exception="any">

Maar dit helpt ook niet.

Iemand??

  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Wat voor code heb je in error_hamdler.cfm staan? Werkt de volgende constructie wel:
code:
1
2
<cferror type="exception" template="scripts/errors/error_handler.cfm" exception="any">
<cfthrow message="test">

Verwijderd

Topicstarter
Nee, dan krijg ik de standaard coldfusion error met "test" erin.

In de error_handler.cfm staat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<cfoutput>
<!------------------------------------------------------------------------------
Error handler for logging errors to the correct directory
<cferror type="EXCEPTION" template="error_handler.cfm">
------------------------------------------------------------------------------->
<cfscript>
CRLF = "<br>";
tab = Chr(9);
formatted_error = "";
formatted_error = "<font color=""gray"">" & ReplaceNoCase(Error.Diagnostics,CRLF,"","All") & "</font>" & CRLF;
formatted_error = formatted_error & tab & Error.DateTime & CRLF;
formatted_error = formatted_error & tab & Error.QueryString & CRLF;
formatted_error = formatted_error & tab & Error.Browser & CRLF;
formatted_error = formatted_error & tab & Error.RemoteAddress & CRLF;
formatted_error = formatted_error & tab & Error.HTTPReferer & CRLF & CRLF;
</cfscript>
<cfinclude template="#request.site.root#/style/header.cfm">
<table width="100%">
<tr><td class="error" align="center">
</td></tr>
<tr><td class="normal">
<hr size=1>
</td></tr>
<tr><td class="normal">
Ga <a href="Javascript:history.back()">terug</a> <p></p>Blijft dit probleem zich voordoen, neem dan contact op met de
<a href="mailto:#request.settings[4]#">webmaster</a>.
</td></tr>
<tr><td class="normal">
<hr size=1>
</td></tr>
<tr><td class="normal">
#formatted_error#
</td></tr>
</table>
<cfinclude template="#request.site.root#/style/footer.cfm">
</cfoutput>

maar als ik dat vervang door
code:
1
traalala

dan verandert er niks. Hij komt niet eens daar, <cferror type="exception"> vangt gewoon geen enkele error op. Vervang ik het door <cferror type="request">, dan vangtie hem gewoon wel op... :/

[ Voor 117% gewijzigd door Verwijderd op 15-12-2005 10:01 ]


Verwijderd

Topicstarter
Heb nog iets interessants gevonden: als ik de cferror in Application.cfm verander in:

code:
1
<cferror type="exception" exception="any" template="scripts/errors/asdfqwerljhb234i8o7gfr.cfm" mailto="me@myDomain.com">

dan krijg ik de error: Error attempting to resolve the template "scripts/errors/asdfqwerljhb234i8o7gfr.cfm". Dus hij ziet de cferror wel, hij include alleen de template niet... Kunnen we hier iets mee?