본문 바로가기
프로그램/php

[PHP]try,catch,finally

by 다온다올과함께 2022. 2. 11.

▶ php try,catch,finally 사용법


◆ 설명

예외처리

 

◆ 사용방법

1. 인덱스 배열이 있는 있는 경우

try {
	//
} catch {
	//
} finally {
	//
}

 

 

 

◆ 사용 예제 1 (예제는 php.net에서 가져옴)

소스

<!DOCTYPE html>
<html>
<body>

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

echo "<p>";

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

echo "</p><p>";

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

echo "</p>";

// Continue executionㅅㄱ
echo "Hello World\n";
?>

</body>
</html>

 

결과

0.2 First finally.

Caught exception: Division by zero. Second finally.

Hello World

 

 

◆ 사용 예제 2 (예제는 php.net에서 가져옴)

소스

<!DOCTYPE html>
<html>
<body>

<?php

class MyException extends Exception { }

class Test {
    public function testing() {
        try {
            try {
                throw new MyException('foo!');
            } catch (MyException $e) {
                // rethrow it
                throw $e;
            }
        } catch (Exception $e) {
            var_dump($e->getMessage());
            //var_dump:변수 정보를 출력하는 함수
        }
    }
}

$foo = new Test;
$foo->testing();

?>

</body>
</html>

 

결과

string(4) "foo!"

 

 

 

 

 

 

 

 

 

 

반응형

'프로그램 > php' 카테고리의 다른 글

[PHP] switch 사용법  (0) 2022.02.16
[PHP] 현재 서버 시간  (0) 2022.02.14
[php]print_r() 함수 사용법  (0) 2022.02.09
[php]trim() 함수 사용법  (0) 2022.02.07
[PHP] setcookie 사용법  (0) 2022.02.05

댓글