File: testMultiCatchFQN.php

package info (click to toggle)
libnb-platform18-java 12.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 729,800 kB
  • sloc: java: 5,059,097; xml: 574,432; php: 78,788; javascript: 29,039; ansic: 10,278; sh: 6,386; cpp: 4,612; jsp: 3,643; sql: 1,097; makefile: 540; objc: 288; perl: 277; haskell: 93
file content (52 lines) | stat: -rw-r--r-- 989 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

class Exception {} // need Exception class because only extending classes are checked

namespace Test\Sub;

class ExceptionType1 extends \Exception {

    public function exception1() {
    }

}

class ExceptionType2 extends \Exception {

    public function exception2() {
    }

}

class ExceptionType3 extends \Exception {

    public function exception3() {
    }

}

namespace Test\Sub2;

try {
    echo "Multi Catch";
} catch (\Test\Sub\ExceptionType1 | \Test\Sub\ExceptionType2 $ex) {
    $ex->getTraceAsString();
} catch (\Test\Sub\ExceptionType3 $ex) {
    $ex->getTraceAsString();
}

try {
    echo "Multi Catch";
} catch (\Test\Sub\ExceptionType1 | \Test\Sub\ExceptionType2 | \Test\Sub\ExceptionType3 $ex) {
    $ex->getTraceAsString();
} finally {
    echo "finally";
}

try {
    echo "Multi Catch";
} catch (\Test\Sub\ExceptionType1 $ex) {
    $ex->getTraceAsString();
} catch (\Test\Sub\ExceptionType2 | \Test\Sub\ExceptionType3 $ex) {
    $ex->getTraceAsString();
}