PHP 코드에서 try..catch 블록을 사용하고 있지만 올바르게 사용하고 있는지 확실하지 않습니다.
예를 들어, 내 코드 중 일부는 다음과 같습니다.
try {
$tableAresults = $dbHandler->doSomethingWithTableA();
$tableBresults = $dbHandler->doSomethingElseWithTableB();
} catch (Exception $e) {
return $e;
}
따라서 동일한 try / catch 블록에서 여러 데이터베이스 작업을 그룹화합니다. 트랜잭션에서 예외가 발생하면 처리 할 수 있기 때문입니다.
나는 그것이 다음보다 더 읽기 쉽고 효율적이라고 생각하기 때문에 그렇게하고 있습니다.
try {
$tableAresults = $dbHandler->doSomethingWithTableA();
} catch (Exception $e) {
return $e;
}
try {
$tableBresults = $dbHandler->doSomethingWithTableB();
} catch (Exception $e) {
return $e;
}
비록 내가하는 일이 좋은 습관인지 아니면 예외를 잡는 게으른 방법인지는 잘 모르겠습니다.
내 가정은 예외에 특별한 처리가 필요한 경우에만 고유 한 try / catch 블록이 있어야하고 그렇지 않으면 동일한 try / catch에서 그룹화하는 것이 좋습니다.
그래서 내 질문은 다음과 같습니다.
데이터베이스 트랜잭션 당 try / catch 블록을 사용하는 이점이 있습니까? 또는 전혀 문제없이 동일한 try / catch 블록에서 여러 데이터베이스 트랜잭션을 그룹화 할 수 있습니까?
try / catch 블록을 중첩해도 괜찮습니까? 감사!
편집하다
return 문은 주로 데모 목적으로 만 사용되었지만 catch()
해당 메서드에 대한 AJAX 요청을 만들고 Javascript가 JSON 개체를 예상하기 때문에 return in도 사용 하고 있습니다. 예외가 발생하면 빈 JSON 인코딩 배열을 반환합니다. . 내 예제에 특정 코드를 넣는 데 어떤 가치도 추가하지 않을 것이라고 생각했습니다.
FOREIGN KEYS
입니까? 테이블 B의 트랜잭션이 테이블 A의 트랜잭션에 의존합니까? 그것은 당신이 그들을 그룹화 할 수 있는지 여부를 결정하기 위해 스스로에게 물어봐야 할 것입니다.