zoukankan      html  css  js  c++  java
  • PHP 异常处理

    Try, throw 和 catch

    try - 将异常函数放在try代码块内,若未触发异常则程序照常执行,若触发了异常则抛出一个异常;

    throw - 规定如何触发异常,每个throw 至少对应一个catch

    catch - catch代码块会捕获异常,并创建一个包含异常信息的对象(Exception

    基本使用方法:

    function checkNumber($number){
        if($number > 1){
            throw new Exception('所输入的值不能大于1');      //文件E:www	estadmin.php的第4行发生了错误,错误详情:所输入的值不能大于1
        }
        return true;
    }
    try{
        checkNumber(2);
        echo '如果程序运行到了这儿,说明输入的数字<=1';
    }
    catch(Exception $e){
        echo "文件<span style='color:red;'>".$e->getFile()."</span>的第<span style='color:red;'>".$e->getLine()."</span>行发生了错误,错误详情:<span style='color:red;'>".$e->getMessage()."</span></br>";
    }

    创建一个自定义的Exception类(需要继承Exception类)

    class customException extends Exception{
        public function errorMessage(){
            $error_message = "文件<span style='color:red;'>".$this->getFile()."</span>的第<span style='color:red;'>".$this->getLine()."</span>行发生了错误,错误详情:<span style='color:red;'>".$this->getMessage()."</span></br>";
            return $error_message;
        }
    }
    
    $number = 2;
    try{
        if($number > 1){
            throw new customException('所输入的值不能大于1');      //文件E:www	estadmin.php的第12行发生了错误,错误详情:所输入的值不能大于1
        }
        echo '如果程序运行到了这儿,说明输入的数字<=1';
    }
    catch(customException $e){
        echo $e->errorMessage();
    }
  • 相关阅读:
    bzoj 2733 [HNOI2012]永无乡
    CF550D Regular Bridge
    bzoj 1911 [Apio2010]特别行动队
    CF1137A/1138C Skyscrapers
    CF295C Greg and Friends
    CF1130E Wrong Answer
    bzoj 1029 [JSOI2007]建筑抢修
    iOS 流布局 UICollectionView使用(简单使用)
    Swift 学习笔记 (解决Swift闭包中循环引用的三种方法)
    Swift 学习笔记(面向协议编程)
  • 原文地址:https://www.cnblogs.com/chrdai/p/6380768.html
Copyright © 2011-2022 走看看