Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Gestione degli errori personalizzata

    Vorrei sapere come si può creare una gestione degli errori come quella di php.
    Ad esempio quando si usa una funzione in modo errato php segnala il punto dove è stata usata e cosa è andato storto, vorrei riuscire a farlo anche con le mie funzioni.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Gestione degli errori personalizzata

    Originariamente inviato da loHacker
    Vorrei sapere come si può creare una gestione degli errori come quella di php.
    Ad esempio quando si usa una funzione in modo errato php segnala il punto dove è stata usata e cosa è andato storto, vorrei riuscire a farlo anche con le mie funzioni.
    http://www.php.net/manual/en/function.trigger-error.php
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Grazie mille era proprio quello che cercavo, non l'avevo mai visto.
    Grazie ancora

  4. #4
    Ma come si fa per risalire al punto dove viene usata la funzione che genera l'errore?
    Con trigger_error mi viene riportata la posizione dove viene usata la funzione trigger_error e non quella della mia funzione come farebbe l'interprete php.

  5. #5
    Ciao.
    Un banale esempio:

    Codice PHP:
    <?php
    function stringUpperCase($str) {
           if (!
    is_string($str)) {
                
    trigger_error("I need a string ;) "E_USER_ERROR);
            } 
            return 
    strtoupper($str);
    }
    function 
    myErrorHandler($errnum$errmsg$file$lineno) {
        if(
    $errnum == E_USER_ERROR) {
            print 
    "error: $errmsg\n
    "
    ;
            print 
    "file: $file\n
    "
    ;
            print 
    "line: $lineno\n
    "
    ;
            exit();
        }
    }

    $handler set_error_handler('myErrorHandler'); 
    $upstringUpperCase(1);
    ?>
    set_error_handler


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Ok ma l'error handler indica la linea di trigger_error invece io vorrei indicasse la linea dove viene richiamata la mia funzione, in questo caso
    Codice PHP:
    $upstringUpperCase(1); 

  7. #7
    Codice PHP:
    <?php 
    function stringUpperCase($str) { 
           if (!
    is_string($str)) { 
                return 
    false
            } 
            return 
    strtoupper($str); 

    function 
    myErrorHandler($errnum$errmsg$file$lineno) { 
        if(
    $errnum == E_USER_ERROR) { 
            print 
    "error: $errmsg\n
    "

            print 
    "file: $file\n
    "

            print 
    "line: $lineno\n
    "

            exit(); 
        } 


    $handler set_error_handler('myErrorHandler'); 
    $upstringUpperCase(1); 
    if(!
    $up){
        
    trigger_error("I need a string ;) "E_USER_ERROR);
    }
    ?>
    Se sei su php5 poi usare exceptions


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Ho risolto con le exception di php 5.
    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.