我有一个表,其中一列是unique
。因此,当我插入新行时,如果该列的内容重复,则会在catch(PDOException $e)
中给出错误。应该注意的是,我在catch()
中也收到任何其他错误。现在我需要将unique
错误与其他错误分开。我需要这样的事情:
try{
// inserting
}
catch(PDOException $e){
if ($e == 'unique error') {echo 'that is a unique error';}
else { echo 'that is different error'}
}
所以我需要这样的条件:if ($e == 'unique error'){}
。有什么条件吗?
答案 0 :(得分:2)
例外是包含信息的对象。错误类型的消息应附加到该对象,因此您应该能够:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Coloured Boxes</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.min.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container">
</div>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
</body>
</html>
抛出异常时应定义异常消息。 如果你需要分开,可以通过代码来实现:
try {
} catch(PDOException $e) {
echo $e->getMessage();
}
最好找出那些情况下的错误代码,然后比较getCode()
应该注意,为了检测try {
} catch(PDOException $e) {
if($e->getCode() == $someVal) {
} else if($e->getCode() == $someVal) {
}
}
错误,您应该使用以下条件:
unique