Error Handlers

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • 703designs

    Error Handlers

    How can I add a a row for every error? I know I did this before, but
    lost the code. The reason that this is necessary: I want errors to
    build into a table which is positioned absolutely (bottom: 1em; left:
    1em). I can only have one copy of the table, otherwise errors overlap
    each other.

    What I have now doesn't work, and I'm not entirely sure why (I know
    it's crappy code, but error handling is a black box indeed, plus this
    is for a prototype CSS framework, so I'm not being picky):

    Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

  • =?ISO-8859-1?Q?=22=C1lvaro_G=2E_Vicario=22?=

    #2
    Re: Error Handlers

    703designs escribió:
    How can I add a a row for every error? I know I did this before, but
    lost the code. The reason that this is necessary: I want errors to
    build into a table which is positioned absolutely (bottom: 1em; left:
    1em). I can only have one copy of the table, otherwise errors overlap
    each other.
    <?php
    $errors = "<table class='phpError '>"
    . "<tr><th>Le vel</th><th>Error</th><th>File</th><th>Line</th></tr>";
    $errorCount = 0;
    >
    function golondrinaError s($number, $string, $file, $line) {
    global $errors;
    global $errorCount;
    $errorCount++;
    $errors .= "<tr><td>" . $number . "</td>"
    . "<td>" . $string . "</td>"
    . "<td>" . $file . "</td>"
    . "<td>" . $line . "</td>"
    . "</tr>";
    return true;
    }
    if($errorCount 0) {
    $errors .= "</table>";
    echo $errors;
    }
    >
    set_error_handl er('golondrinaE rrors');

    What this code seems to do is:

    1. Set error count to zero
    2. Print errors if error count is greater than zero
    3. Tell PHP to user your custom error handler
    4. Increase the error count when new errors found

    You'd need to move the "print errors" part to the end of your script so
    it has the chance of catching some errors before printing them.

    Also, be aware that your error handler doesn't honor the @ operator and
    it never aborts the script no matter the error type (might be what you
    want or not).


    --
    -- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
    -- Mi sitio sobre programación web: http://bits.demogracia.com
    -- Mi web de humor al baño María: http://www.demogracia.com
    --

    Comment

    • 703designs

      #3
      Re: Error Handlers

      Thanks Alvaro, that makes perfect sense. This is for only my own use,
      mainly to catch missed includes (for wireframing), but I'll certainly
      look into making it @-safe, which seems like an interesting topic to
      me.

      Thomas

      On Oct 8, 11:05 am, "Álvaro G. Vicario"
      <alvaroNOSPAMTH A...@demogracia .comwrote:
      703designs escribió:
      >
      >
      >
      How can I add a a row for every error? I know I did this before, but
      lost the code. The reason that this is necessary: I want errors to
      build into a table which is positioned absolutely (bottom: 1em; left:
      1em). I can only have one copy of the table, otherwise errors overlap
      each other.
      <?php
      $errors = "<table class='phpError '>"
          . "<tr><th>Le vel</th><th>Error</th><th>File</th><th>Line</th></tr>";
      $errorCount = 0;
      >
      function golondrinaError s($number, $string, $file, $line) {
          global $errors;
          global $errorCount;
          $errorCount++;
          $errors .=  "<tr><td>" . $number . "</td>"
              . "<td>" . $string . "</td>"
              . "<td>" . $file . "</td>"
              . "<td>" . $line . "</td>"
              . "</tr>";
          return true;
      }
      if($errorCount 0) {
          $errors .= "</table>";
          echo $errors;
      }
      >
      set_error_handl er('golondrinaE rrors');
      >
      What this code seems to do is:
      >
      1. Set error count to zero
      2. Print errors if error count is greater than zero
      3. Tell PHP to user your custom error handler
      4. Increase the error count when new errors found
      >
      You'd need to move the "print errors" part to the end of your script so
      it has the chance of catching some errors before printing them.
      >
      Also, be aware that your error handler doesn't honor the @ operator and
      it never aborts the script no matter the error type (might be what you
      want or not).
      >
      --
      --http://alvaro.es- Álvaro G. Vicario - Burgos, Spain
      -- Mi sitio sobre programación web:http://bits.demogracia.com
      -- Mi web de humor al baño María:http://www.demogracia.com
      --

      Comment

      Working...