1 개요[ | ]
- PHP Warning은 Catch할 수 없음
- PHP에서 Warning은 예외(Exception)가 아니므로 catch 불가
2 예시 1[ | ]
Console
Copy
[root@zetawiki ~]# php -r 'var_dump( 10 / 0 );'
PHP Warning: Division by zero in Command line code on line 1
bool(false)
- → 0으로 나누어 Warning 발생
Console
Copy
[root@zetawiki ~]# php -r '@var_dump( 10 / 0 );'
bool(false)
- → Warning 메시지를 보고 싶지 않다면 @를 붙이자.[1]
3 예시 2[ | ]
- catch_warning.php
PHP
Copy
<?php
try {
$a = 10 / 0;
var_dump( $a );
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
- 실행결과
Console
Copy
[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 주석[ | ]
- ↑ 이외에 PHP error_reporting()을 통해 에러보고수준을 조정하는 것도 가능
6 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.