我对在 PHP 中使用对象/类很陌生,我对EXCEPTIONS、TRY 和CATCH 感到好奇
在下面的示例中,我使用了所有 3 个。显然异常是某种触发错误的方式,但我不明白为什么?在下面的代码中,我可以很容易地显示某种错误或没有异常部分的东西吗?
该示例下方是使用 try 和 catch 的示例。在我看来,这与使用 if/else 是一样的。我可能是错的,这只是我在一无所知的情况下看到它们的方式,我知道你可以在不使用这些的情况下用 PHP 编写任何代码,所以这是什么原因,使用这些东西与传统方式相比有什么好处吗?
<?PHP
// sample of using an exception
if($something === $something_else){
//do stuff
}else if($something === $something_else_again){
//do stuff
}else{
throw new Exception('Something went wrong!');
}
尝试捕获
//and try and catch
try{
$thumb = PhpThumbFactory::create('/path/to/image.jpg');
}
catch (Exception $e){
// handle error here however you'd like
}
?>
最佳答案
简而言之,异常是“改变程序执行的正常流程的特殊条件”(引用维基百科)
您可能(至少)对那几篇文章感兴趣:
- Exception handling - wikipedia
- Exceptional PHP: Introduction to Exceptions
- Exceptional PHP: Extending The Base Exception Class
- Exceptional PHP: Nesting Exceptions In PHP
他们应该给你一些有趣的元素——尤其是第二个,关于“什么是 php 中的异常”
优点之一(这是基本思想的一部分)是:
try
block 中有“正常”代码- “处理问题”代码的最大部分在
catch
block 中 - 这意味着“正常”代码中间的“处理问题”代码更少
- 还允许您重新组合代码的“处理问题”部分
关于php - 什么是 PHP 中的异常,什么是 try 和 catch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2018486/