在为 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();
}