Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP Links Checked by NodeWorks
Demo ASP: syntax_error.asp 2010-07-29

We are creating a perl syntax error... this should demonstrate how error handling is done. Please check the error log file if you are interested in the output there.

You can turn this error messaging off by setting the Debug variable in the ASP config to 1 or 0.

Also here is an example of how you can use debugging, an API extension $Response->Debug(@args), in your script. The debug output will show up below, and in your error logs. This user style debugging is turned off with the same Debug setting set to 0.

Try this script also with buffering on.

This script by default does a runtime syntax error. If you would like to see a script compile error, click here.

view this file's source

Errors Output

  1. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC() called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9c6e5bc)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b...') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9c6e5bc)') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x9abb280)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1522
Debug Output
  1. RUN ASP (v2.61) for /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  2. GlobalASA package Apache::ASP::Demo
  3. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  4. creating dbm for file /tmp/asp_demo/server/application, db MLDBM::Sync::SDBM_File, serializer: Data::Dumper
  5. session id from cookie: 0f1139cb948fb3b8d30eb4cfd078342f
  6. refreshing 0f1139cb948fb3b8d30eb4cfd078342f with timeout 1280423024
  7. creating dbm for file /tmp/asp_demo/0f/0f1139cb948fb3b8d30eb4cfd078342f, db MLDBM::Sync::SDBM_File, serializer: Data::Dumper
  8. session not expired - time: 1280422724; timeout: 1280423012;
  9. tieing session 0f1139cb948fb3b8d30eb4cfd078342f
  10. no stat: found cached code for include __ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211
  11. Script_OnStart
  12. executing Script_OnStart
  13. [syntax_error.asp] - Script_OnStart /usr/local/proj/mlink/site/asp/eg/syntax_error.asp in global.asa
  14. executing Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC
  15. Script_OnFlush
  16. executing Script_OnFlush
  17. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  18. building headers
  19. sending cgi headers
  20. no stat: found cached code for include __ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65
  21. executing Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65xINC
  22. Script_OnFlush
  23. executing Script_OnFlush
  24. [syntax_error.asp] - Script_OnFlush: about to flush 1036 bytes to client
  25. Script_OnFlush
  26. executing Script_OnFlush
  27. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  28. done executing include code Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65xINC
  29. Script_OnFlush
  30. executing Script_OnFlush
  31. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  32. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  33. Script_OnFlush
  34. executing Script_OnFlush
  35. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  36. Script_OnFlush
  37. executing Script_OnFlush
  38. [syntax_error.asp] - Script_OnFlush: about to flush 273 bytes to client
  39. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC() called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9c6e5bc)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b...') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9c6e5bc)') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x9abb280)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1522
  40. ASP Done Processing Apache::ASP=HASH(0x9c6e5bc) - Application: Apache::ASP::Application=HASH(0x9c74d5c); GlobalASA: Apache::ASP::GlobalASA=HASH(0x9c6b010); Internal: Apache::ASP::State=HASH(0x9c5c3ec); Request: Apache::ASP::Request=HASH(0x9c5e664); Response: Apache::ASP::Response=HASH(0x9c6162c); Server: Apache::ASP::Server=HASH(0x9c71d34); Session: Apache::ASP::Session=HASH(0x9c67500); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x9187524); compile_checksum: bdd88f74fe4f31092daafb79c0cd3830; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x9c5e910); destroy: 1; dir_config: Apache::Table=HASH(0x9c6d2e8); dirname: /usr/local/proj/mlink/site/asp/eg/; errors_output: ARRAY(0x9186c9c); errs: 1; filename: /usr/local/proj/mlink/site/asp/eg/syntax_error.asp; global: /usr/local/proj/mlink/site/asp/eg//.; global_package: Apache::ASP::Demo; group_refresh: 30; headers_in: Apache::Table=HASH(0x9c6b2c8); includes_dir: ARRAY(0x9c67674); init_packages: ARRAY(0x9c6e31c); inode_names: ; last_compile_include_data: HASH(0x918759c); last_time: 1280422724.9245; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; r: Apache=SCALAR(0x9abb280); remote_ip: 38.107.191.112; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x91875e4); search_dirs_cache: HASH(0x91862c4); secure_session: ; session_cookie: 1; session_count: 1; session_id: 0f1139cb948fb3b8d30eb4cfd078342f; session_serialize: ; session_state: 1; session_timeout: 300; session_url: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); session_url_force: ; session_url_match: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); session_url_parse: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); session_url_parse_match: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); start_time: 1280422724.89239; stat_inc: 0; stat_inc_match: 0; stat_scripts: 0; state_db: MLDBM::Sync::SDBM_File; state_dir: /tmp/asp_demo; state_manager: 10; state_serialize: ; state_serializer: ; ua: CCBot/1.0 (+http://www.commoncrawl.org/bot.html); use_strict: 1; win32: 0; xslt: ;
  41. errors out
  42. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC() called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9c6e5bc)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b...') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9c6e5bc)') called at /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x9abb280)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2/Apache/ASP.pm line 1522
ASP to Perl Script 

  -: use strict;;;use vars qw($Application $Session $Response $Server $Request);;
  -: #line 1 /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  1: ;;
  2: 
  3: ;  
  4: use File::Basename;
  5: if($Request->QueryString('buffer')) {
  6: 	$Response->{Buffer} = 1;
  7: } else {
  8: 	$Response->{Buffer} = 0; 
  9: }
 10: ; &Apache::ASP::WriteRef($main::Response, \('
 11: ')); $Response->Include('/usr/local/proj/mlink/site/asp/eg/header.inc', ); ; &Apache::ASP::WriteRef($main::Response, \('
 12: We are creating a perl syntax error... this should demonstrate 
 13: how error handling is done.  Please check the error log file if 
 14: you are interested in the output there.
 15: <p>
 16: You can turn this error messaging off by setting the Debug variable
 17: in the ASP config to 1 or 0.
 18: <p>
 19: Also here is an example of how you can use debugging, an API
 20: extension $Response->Debug(@args), in your script.  The debug 
 21: output will show up below, and in your error logs.  This user 
 22: style debugging is turned off with the same Debug setting set to 0.
 23: <p>
 24: 
 25: 
 26: 
 27: ')); 
 28:    $Response->Debug(
 29: 	"Debugging", 
 30: 	['can', 'take'], 
 31: 	{'just'=>'about'},
 32: 	sub { ['any', 'kind']},
 33: 	\"of reference",
 34: 	"or scalar"
 35: 	);
 36: 
 37:    print "Try this script also with <a href=".basename($0)."?buffer=1>buffering on.</a>";
 38: ; &Apache::ASP::WriteRef($main::Response, \('
 39: 
 40: <p>
 41: 
 42: This script by default does a runtime syntax error.  If you would like
 43: to see a script <b>compile error, <a href="'.( basename($0) ).'?compile_error=1">click here</a></b>.
 44: 
 45: <p>
 46: <a href="source.asp?file='.($Request->ServerVariables("SCRIPT_NAME")).'">
 47: view this file\'s source
 48: </a>
 49: 
 50: <br>
 51: <br>
 52: 
 53: ')); 
 54: if($Request->QueryString('compile_error')) {
 55:   $Response->Include("compile_error.inc");
 56: } else {
 57:         my $Object;
 58: 	# create a run-time syntax error
 59: 	$Object->SyntaxError(); 
 60: }
 61: ; &Apache::ASP::WriteRef($main::Response, \('
 62: 
 63: 
 64: 
 65: 
 66: 
 67: 
 68: 
 69: 
 70: 
 71: 
 72: 
 73: 
 74: Misc Text Below Error'));


An error has occured with the Apache::ASP script just run. If you are the developer working on this script, and cannot work through this problem, please try researching it at the Apache::ASP web site, specifically the FAQ section. Failing that, check out your support options, and if necessary include this debug output with any query.