zoukankan      html  css  js  c++  java
  • debug_backtrace final catch

    <?php
    function backtrace_str(){
            $str = '';
        $w = 0;
        $backtrace = debug_backtrace();
            foreach($backtrace as $arr){
            $str .= $w."
    ";
            $w++;
                    foreach($arr as $key=>$val){
                    $str .=$key.'=>'.$val."
    ";
                    }
            }
            return $str;
    }

     w

    http://php.net/manual/en/language.oop5.final.php

    PHP 5 introduces the final keyword, which prevents child classes from overriding a method by prefixing the definition with final. If the class itself is being defined final then it cannot be extended.

    http://php.net/manual/zh/language.oop5.final.php

    PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

    http://php.net/manual/en/language.exceptions.extending.php

    w

    <?php
    class Exception
    {
        protected $message = 'Unknown exception';   // exception message
        private   $string;                          // __toString cache
        protected $code = 0;                        // user defined exception code
        protected $file;                            // source filename of exception
        protected $line;                            // source line of exception
        private   $trace;                           // backtrace
        private   $previous;                        // previous exception if nested exception
    
        public function __construct($message = null, $code = 0, Exception $previous = null);
    
        final private function __clone();           // Inhibits cloning of exceptions.
    
        final public  function getMessage();        // message of exception
        final public  function getCode();           // code of exception
        final public  function getFile();           // source filename
        final public  function getLine();           // source line
        final public  function getTrace();          // an array of the backtrace()
        final public  function getPrevious();       // previous exception
        final public  function getTraceAsString();  // formatted string of trace
    
        // Overrideable
        public function __toString();               // formatted string for display
    }

    w

    <?php
    function inverse($x)
    {
        if (!$x) {
            throw new Exception('Division by zero.');
        }
        return 1 / $x;
    }
    
    try {
        echo inverse(5) . "
    ";
        echo inverse(0) . "
    ";
    } catch (Exception $e) {
        echo 'Caught exception: ', $e->getMessage(), "
    ";
    }
    
    function w($w)
    {
        try {
            echo inverse($w) . "
    ";
            return 'w0';
        } catch (Exception $e) {
            echo 'Caught exception: ', $e->getMessage(), "
    ";
        }
        return 'w1';
    }
    
    $w = w(5);
    print_r($w);
    $w = w(0);
    print_r($w);
    C:>php D:cmdamzapiamzapitest_comMarketplaceWebServiceOrdersSampleswd_learn.php
    0.2
    Caught exception: Division by zero.
    0.2
    w0Caught exception: Division by zero.
    w1
    C:>
  • 相关阅读:
    《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的期望
    Codeforces 837F
    Codeforces #428 Div2 D
    poj3233(等比矩阵求和)
    Codeforces #427 Div2 D
    Codeforces 837E
    hdu6086(AC 自动机)
    hdu2825(AC 自动机)
    poj2778(AC 自动机)
    Codeforces #426 Div2 D(线段树优化 DP )
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6761864.html
Copyright © 2011-2022 走看看