3
나는 예외 작업을하려고합니다.초보자 : 새로운 예외를 던지십시오 - 예외 이름을 바꿀 수 있습니까?
나쁜 일이 발생하는 경우 :
나중에throw new CreateContactException($codigo, $result->msg);
, 나는 시도하고 경우 확인하지, 캐치 :
try
{
createContact();
}
catch(CreateContactException $e)
{
$error .= 'An error occurred with the code:'.$e->getCode().' and message:'.$e->getMessage();
}
그래서 내가 좋아하는 뭔가를 1) 이 방법이 유용할까요? 내 말은,이 getCode() 및 getMessage()는 CreateContactException 인수와 관련이 없다는 것인가?
2) 어딘가에 예외를 확장하는 CreateContactException 클래스가 있어야합니까? 확장 클래스를 만들 필요없이 예외에 대한 맞춤 이름을 사용할 수 있습니까? 사전에
고마워, MEM
확인 :
다른 이름을 사용하는 장점은 여러
catch
블록을 가질 수 있습니다, 그래서 당신은 예외의 다른 종류를 잡아 다른 사람을 통해 미끄러 할 수 있다는 것입니다. 그래서 이것이 제일 먼저 할 일이 될 것입니다. 예외를 확장하는 클래스를 만듭니다. 비어있는 경우 대신 예외를 사용하지 않는 이유는 무엇입니까? – MEM클래스를 생성했다고 가정 할 때 getCode 및 getMessage와 throw 인수를 어떻게 관련시킬 수 있습니까? 나는 조금 잃어 버렸어. 나는 깨달았다. ... 감사합니다. MEM – MEM
왜 예외적 인 대신에 사용 하시겠습니까? 특정 예외 유형을 던지고 잡을 수 있기를 원하기 때문입니다. Exception을 확장하므로 Exception에있는 모든 메서드를 상속하므로 getCode 및 getMessage가 작동합니다. – Mchl