Uso la mia semplice gestione degli errori e posso effettivamente catturare lo & registro di tutto ciò di cui ho bisogno. Ma ora ho bisogno di prendere un errore con try{}catch(){}
. L'errore, che mi aspetto di verificarsi a volte in quel punto, è l'errore "Chiamata a metodo non definito". Riesco ad afferrare in questo modo:Come rilevare l'errore "Chiama per metodo non definito" in PHP 7?
try {
$someObject->someMethodTheObjectDoesntProvide();
} catch (Error $e) {
// do something else
}
Ma la classe Error
nella clausola catch
è un po 'al generico. Mi piacerebbe prendere solo questo tipo di errore.
C'è un modo per limitare l'acquisizione a un particolare "tipo" di errori?
Senza usare strpos($errorMessage)
...;)
No, solo diverse classi di errore/eccezione; e questa è solo una generica 'Error' classe –
Non sono sicuro che' __call() 'intercetti le chiamate a metodi inesistenti (o solo a metodi non accessibili), e ti permetta di lanciare un'eccezione personalizzata che potrebbe quindi essere catturato e consegnato in modo diverso ad altri errori –
Probabilmente si vuole rilevare qualsiasi errore che si verifica, non solo uno specifico. Ma potresti fare un'azione specifica all'interno del tuo blocco 'catch' in base al tipo di errore generato – WillardSolutions