Fel*_*ing 127
是的,但这取决于你想要执行的内容:
例如
try {
a();
b();
}
catch(Exception $e){
}
c();
Run Code Online (Sandbox Code Playgroud)
c()
将永远执行.但是,如果a()
抛出一个异常,b()
则没有执行.
只将内容放入try
彼此依赖的块中.例如,b
取决于某些结果,在块之后a
放置是没有意义b
的try-catch
.
Dou*_* T. 89
当然,只是抓住你想继续执行的例外......
try
{
SomeOperation();
}
catch (SomeException $e)
{
// do nothing... php will ignore and continue
}
Run Code Online (Sandbox Code Playgroud)
当然,这有一个问题,即默默地丢弃可能是一个非常重要的错误.SomeOperation()可能会失败导致其他微妙的,难以弄清楚的问题,但你永远不会知道你是否默默地删除了异常.
Dom*_*ger 16
当然:
try {
throw new Exception('Something bad');
} catch (Exception $e) {
// Do nothing
}
Run Code Online (Sandbox Code Playgroud)
您可能希望阅读有关例外的PHP文档.
Abd*_*des 11
使用新界面 Throwable
try {
// Code that may throw an Exception or Error.
} catch (Throwable $t) {
// Handle exception
}
echo "Script is still running..."; // this script will be executed.
Run Code Online (Sandbox Code Playgroud)
Chr*_*ras 11
对于PHP 8+,我们可以省略捕获异常的变量名称。
从 PHP 8.0.0 开始,捕获的异常的变量名称是可选的。如果未指定,catch 块仍将执行,但无法访问抛出的对象。
因此我们可以这样做:
try {
throw new Exception("An error");
}
catch (Exception) {}
Run Code Online (Sandbox Code Playgroud)
是.
try {
Somecode();
catch (Exception $e) {
// handle or ignore exception here.
}
Run Code Online (Sandbox Code Playgroud)
然而请注意,php也有与异常分开的错误代码,这是php之前有oop原语的遗留保留.大多数库内置程序仍会引发错误代码,而不是异常.要忽略错误代码,请调用前缀为@的函数:
@myfunction();
Run Code Online (Sandbox Code Playgroud)