1.9PHP语言的异常(Exception)语句

throw语句

throw 表达式;

try语句

//句法一
try {
    //可能会发生异常的语句
} catch(异常类型 e) {
    //处理异常 e
}
//句法二
try {
    //可能会发生异常的语句
} catch(异常类型 e) {
    //处理异常 e
} finally {
    //不管是否有异常捕获,finally子句中的代码都会执行
}

示例 #1 抛出一个异常

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo "Hello World\n";
?>
//输出
0.2
Caught exception: Division by zero.
Hello World

示例 #2 带 finally 块的异常处理

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero.');
    }
    return 1/$x;
}

try {
    echo inverse(5) . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
} finally {
    echo "First finally.\n";
}

try {
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
} finally {
    echo "Second finally.\n";
}

// 继续执行
echo "Hello World\n";
?>
//输出
0.2
First finally.
Caught exception: Division by zero.
Second finally.
Hello World

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/4973.html

(0)
上一篇 2021年1月8日 02:48
下一篇 2021年1月11日 20:05

相关推荐

  • 2.6PHP复合(Compound)类型之可调用(callable)

    回调函数可以通过 可调用(callable) 类型声明来表示。 可调用 (callable) 类型的本质是回调函数。 回调函数 回调函数可以是简单函数,还可以是类静态方法,匿名函数,箭头函数。 调用回调函数 PHP是将回调函数以string形式传递的。 call_user_func 第一个参数 $c…

    PHP语言教程 2021年2月6日
    01220
  • 3.3PHP语言的抽象(Abstract)类和接口(Interface)

    抽象类 PHP支持抽象类和抽象方法。定义为抽象的类不能被实例化但可以被子类继承。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控…

    PHP语言教程 2021年3月3日
    05540
  • 1.1PHP语言的标记(Tag)

    PHP 脚本以 <?php 开头,以 ?> 结尾。 PHP解释器会执行 <?php 和 ?> 标记内的代码,标记外的内容会原封不动地输出。 如果文件内容仅仅包含 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外…

    PHP语言教程 2021年1月1日
    03980

发表评论

登录后才能评论