Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    62

    domanda su error handler

    Salve a tutti,
    con la funzione

    set_error_handler('nome_funzione');

    è possibile impostare la funzione che si occupa della gestione degli errori. Con la funzione

    reset_error_handler();

    è possibile eliminare la funzione corrente e ritornare a quella precedente.

    Come posso fare per disattivare momentaneamente la funzione e riattivarla successivamente?
    Ho la necessità di demandare la gestione di un possibile errore, ma se una funzione di gestione errori "impostata, questa prende il sopravvento.

    Grazie Mauro

  2. #2
    Prima chiami reset_error_handler() e poi richiami set_error_handler('nome_funzione') con lo stesso parametro utilizzato in precedenza.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    62
    Ciao,
    questa soluzione l'avevo già pensata. Il problema è che sto scrivendo una libreria che può essere riutilizzata da altre persone o in altri programmi. Chi mi garantisce che nessuno chiama più di una volta set_error_handler?
    Se ad esempio uno script chiama

    set_error_handler("funzione_1");
    set_error_handler("funzione_2");
    set_error_handler("funzione_3");

    se adotto la tua soluzione con

    reset_error_handler()

    rimuovo "funzione_3", ma mi ritrovo ancora le altre 2.

    Altre soluzioni? Grazie comunque.

    Mauro

  4. #4
    In questo caso devi chiarire che cosa intendi per "disattivare momentaneamente la funzione e riattivarla successivamente".

    Da quello che ho capito è sufficiente creare una funzione fittizzia, impostarla con set_error_handler(). Per riattivare il supporto dell'utente è sufficiente chiamare reset_error_handler().

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 © 2025 vBulletin Solutions, Inc. All rights reserved.