PHP Warning은 Catch할 수 없음

1 개요[ | ]

PHP Warning은 Catch할 수 없음
  • PHP에서 Warning은 예외(Exception)가 아니므로 catch 불가

2 예시 1[ | ]

[root@zetawiki ~]# php -r 'var_dump( 10 / 0 );'
PHP Warning:  Division by zero in Command line code on line 1
bool(false)
→ 0으로 나누어 Warning 발생
[root@zetawiki ~]# php -r '@var_dump( 10 / 0 );'
bool(false)
→ Warning 메시지를 보고 싶지 않다면 @를 붙이자.[1]

3 예시 2[ | ]

catch_warning.php
<?php
try {
	$a = 10 / 0;
	var_dump( $a );
} catch (Exception $e) {
	echo 'Caught exception: ',  $e->getMessage(), "\n";
}
실행결과
[root@zetawiki ~]# php catch_warning.php 
PHP Warning:  Division by zero in /root/catch_warning.php on line 3
bool(false)
→ 0으로 나누었지만, catch에 걸리지 않고 다음줄 var_dump가 수행됨
→ 값은 false

4 같이 보기[ | ]

5 주석[ | ]

  1. 이외에 PHP error_reporting()을 통해 에러보고수준을 조정하는 것도 가능

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}