오류와 예외의 차이점에 대해 논의해 보겠습니다.
- 오류에서 복구할 수 없습니다. 오류에 대한 유일한 해결책은 실행을 종료하는 것입니다. 반면 try-catch 블록을 사용하거나 호출자에게 예외를 다시 던져 예외로부터 복구할 수 있습니다.
- try-catch 블록을 사용하여 오류를 처리할 수 없습니다. try-catch 블록을 사용하여 처리하더라도 이러한 일이 발생하면 애플리케이션이 복구되지 않습니다. 반면에 예외는 try-catch 블록을 사용하여 처리할 수 있으며 발생하면 프로그램이 정상적으로 흐르도록 할 수 있습니다.
- 예외는 애플리케이션과 관련된 반면 오류는 애플리케이션이 실행되는 환경과 관련됩니다.
예시
<?php try { $row->insert(); $inserted = true; } catch (Exception $e) { echo "There was an error inserting the row - ".$e->getMessage(); $inserted = false; } echo "Some more stuff"; ?>
설명
예외를 '잡았기' 때문에 프로그램 실행이 계속됩니다. 예외는 catch되지 않는 한 오류로 처리됩니다. 또한 실패한 후에도 프로그램을 계속 실행할 수 있습니다.
예시
<?php $foo = [bar]; echo $foo; ?>
설명
PHP 알림:배열에서 문자열로의 변환과 함께 프로그램 실행이 중지됩니다.