X DevAPI 用户指南  / 第 8 章语句执行  / 8.1 交易处理  /  8.1.2 错误处理

8.1.2 错误处理

在为 MySQL Shell 编写脚本时,您通常可以简单地依赖 MySQL Shell 完成的异常处理。对于所有其他语言,要么需要适当的异常处理来捕获错误,要么如果该语言不支持异常,则需要使用传统的错误处理模式。

可以通过创建自定义 SessionContext并将其传递给 mysqlx.getSession()函数来更改默认错误处理。这使得从异常切换到基于结果的错误检查成为可能。

以下示例显示了如何执行正确的错误处理。该示例假定测试模式存在并且集合my_collection存在。

var mysqlx = require('mysqlx');

var mySession;

try {
  // Connect to server on localhost
  mySession = mysqlx.getSession( {
    host: 'localhost', port: 33060,
    user: 'user', password: 'password' } );
}
catch (err) {
  print('The database session could not be opened: ' + err.message);
}

try {
  var myDb = mySession.getSchema('test');

  // Use the collection 'my_collection'
  var myColl = myDb.getCollection('my_collection');

  // Find a document
  var myDoc = myColl.find('name like :param').limit(1)
    .bind('param','L%').execute();

  // Print document
  print(myDoc.first());
}
catch (err) {
  print('The following error occurred: ' + err.message);
}
finally {
  // Close the session in any case
  mySession.close();
}