# 例:`mysqli` 例外処理
```10
  <?php
    ...
    $mysqli->query("CREATE TABLE php_e (pk INT KEY AUTO_RANDOM, name varchar(20))");
    ...
  } catch (~!@Exception $e@!~) {
    echo "SQL State: " . ~!@$mysqli->sqlstate@!~ . "\n";
    echo "Error Code: " . ~!@$e->getCode()@!~ . "\n";
    echo "Error Message: " . ~!@$e->getMessage()@!~ . "\n";
  }
  ?>

...

SQL State: ~!@HY000@!~
Error Code: ~!@8216@!~
Error Message: Invalid auto random: auto_random option must be defined on `bigint` column, 
but not on `int` column
```
--------------------------------------------------------------

たとえば、`Invalid auto random`。
```
<html>

<body>
  <h1>201.4-PHP mysqli Exception Handling 11</h1>
  <?php
  echo "mysqli Example - Exception Handling" . "<p>";

  mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

  try {
    $mysqli = new mysqli("127.0.0.1", "root", "", "test", 4000);
    if ($mysqli->connect_errno) {
      die("Error connecting: " . $mysqli->connect_error);
    }
    $mysqli->query("CREATE TABLE php_e (pk INT KEY AUTO_RANDOM, name varchar(20))");
    print "End.";
  } catch (Exception $e) {
    echo "SQL State: " . $mysqli->sqlstate . "<p>";
    echo "Error Code: " . $e->getCode() . "<p>";
    echo "Error Message: " . $e->getMessage() . "<p>";
  }
  ?>

</body>

</html>
```