예외를 throw하려면 CustomException 클래스를 포함시켜야합니다.사용자 정의 예외를 잡으십시오 - CustomException 클래스를 요구하거나 포함해야합니까?
include_once("CustomException.class.php");
확인.
다른 파일에서 try/catch 블록을 사용할 때 CustomException 클래스를 다시 요구하거나 포함해야합니까? 사전에
감사합니다,
예외를 throw하려면 CustomException 클래스를 포함시켜야합니다.사용자 정의 예외를 잡으십시오 - CustomException 클래스를 요구하거나 포함해야합니까?
include_once("CustomException.class.php");
확인.
다른 파일에서 try/catch 블록을 사용할 때 CustomException 클래스를 다시 요구하거나 포함해야합니까? 사전에
감사합니다,
이 클래스의 예외가 throw 된 경우 스크립트의이 시점에 이미 포함되었습니다. 그리고 그것이 던져지지 않으면 나쁜 일은 일어나지 않습니다. 이러한 예외가 정의되지 않은 경우 typehint는 오류를 발생시키지 않습니다. 다음 코드를 실행 해보십시오.
try {
echo 'foo';
} catch (SomeNonExistentException $e) {
echo 'bar';
}
echo 'baz';
가 아니, 당신은 할 필요가 없습니다 MEM은 try/catch 블록에서 다시는-있습니다. 파일이 포함되면 스크립트의 전체 처리에 유효하거나 사용할 수 있어야합니다.
나는 그 점을 놓쳤다 고 생각합니다. 예외를 throw하는 경우에만 예외 클래스를 요구하면됩니다. 그래서 내가 OP를 읽는 것은 catch 블록에 타입 힌트를위한 클래스를 포함 시켜서 작업 할 필요가 있는지입니다. ($ obj = new Foo()가 치명적인 에러 'Foo' 클래스가 정의되어 있지 않은 경우) ... – ircmaxell
Gotcha, 아마도 그것을 놓쳤을 것입니다. 정교 해줘서 고마워. –
CustomException
을 던지는 클래스가있는 파일을 포함시킬 때 이미 CustomException 클래스가 포함되어 있기 때문에 올바르게 수행하려는 작업을 이해하는 경우 은입니다.
main.php :
include("include1.php");
var_dump($variable_defined_in_include2);
include1.php :
우리가 (파일 자체 포함) 파일을 포함하는 주요 파일이 다음과 같은 상황을 고려
include("include2.php");
include2.php :
$variable_defined_in_include2 = true;
main.php에는 include2.php가 포함되지 않지만 include1.php가 포함되어 있기 때문에 $variable_defined_in_include2
이 설정됩니다 (include2.php 포함).
정확합니다. 유형 힌트에는 클래스가 존재하지 않아도됩니다. '$ obj instanceof FooClass'를 전달하는 객체의 힌트만을 전달할 것이지만'FooClass'는 결코 존재할 필요가 없습니다 (파서의 입장에서). – ircmaxell
고마워요. 이 여분의 코멘트로 지금 나는 그것을 얻는다. 형식 힌트와 관련이있는 것 같습니다. 그리고 그것은 중요한 용어였습니다. 고마워. – MEM