이전 글에서는 "PHP에서 예외 처리란 무엇인가요?"에 대해 소개했습니다. 예외 처리에서 try-catch를 어떻게 사용합니까? 》, 이 기사에서는 계속해서 PHP의 사용자 정의 예외 처리 클래스가 무엇인지 소개합니다. 사용자 정의 예외 처리 클래스를 어떻게 해결할 수 있습니까? 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
사용자 정의 예외 처리 클래스:
final:클래스를 수정하는 데 사용된다면 이 클래스를 상속받을 수 없다는 의미입니다. 재정의할 수 없습니다
상속하려면 공식적인 예외 처리 클래스이므로 메서드를 마음대로 추가할 수 있으므로 부모 클래스의 메서드를 재정의할 수 있는지 주의하세요.
[참고] 캐치가 여러 개인 경우 위에 사용자 정의 예외 클래스를 작성하고 아래에 공식 예외 클래스를 작성하세요
중첩: try에서 try를 생성할 수 있습니다
사용자 정의 예외 처리 함수(이해)
set_exception_ handler('test') ;
등록 함수에서 예외가 발생하면 이 함수에 의해 자동으로 포착됩니다. =함수에는 매개변수가 있고 매개변수는 예외 객체입니다
코드를 예로 들어보겠습니다.
<?php function test($e) { echo $e->getMessage(); } set_exception_handler('test'); throw new Exception( '现在有异常了');
예외 처리 클래스를 코드 형식으로 설명하겠습니다. 먼저 새 파일을 만들어야 합니다. 클래스 클래스를 정의한 다음 (함수를 정의해야 합니다. ) 클래스에서, try를 통해 코드를 실행하려고 하면 catch를 통해 자체 예외 처리 클래스를 통해 이를 포착할 수 있습니다.
<?php class MyException extends Exception { function demo( ) { echo '执行第二套方案<br />' ; } } try { echo '我将于茫茫人海中访我唯一灵魂之伴侣<br />'; throw new MyException( '主人出错啦'); echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) { echo $e->getMessage(); } ?>
코드 시연 결과는 다음과 같습니다.
다음은 자체적으로 정의한 예외 처리 클래스입니다. 실행 중 오류가 발생하면 이를 실행할 수 있습니다. 두 번째 메소드 세트인catch (MyException $e) { echo $e->getMessage(); echo '<hr>'; $e->demo(); }코드 데모 결과는 다음과 같습니다. 지금 바로 코드를 복사하여 어떤 catch가 예외를 잡을 수 있는지 알아봅시다. 코드는 다음과 같습니다.
try { echo '我将于茫茫人海中访我唯一灵魂之伴侣<br />'; throw new MyException( '主人出错啦'); echo '得之,我幸;不得,我命<br />'; } catch (MyException $e) { echo '因为爱过,所以慈悲'; }catch (Exception $e){ echo '因为懂得,所以宽容'; }코드 데모 결과는 다음과 같습니다. 할 수 있습니다. 발견된 예외는 우리의 사용자 정의라는 것을 코드에서 볼 수 있습니다. 예외 처리 클래스는 이 객체를 캡처하는 데 사용됩니다. MyException 및 Exception의 순서를 변경하면 어떻게 될까요? 실행해 보면 여전히 첫 번째 클래스라는 것을 알 수 있습니다.
참고: Exception은 공식 클래스이고 상위 클래스이며 MyException의 상위 클래스입니다. 두 클래스 모두에서 예외를 포착하면 동시에 먼저 하위 클래스를 배치한 다음 공식 클래스를 작성해야 합니다.
추천 학습:위 내용은 PHP의 사용자 정의 예외 처리 클래스란 무엇입니까? 사용자 정의 예외 처리 클래스를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!