在 Oracle数据库上构建 .NET 应用程序
2007-05-10 12:15:42 来源:WEB开发网核心提示: 图 6: 捕获到一个 ORA-12545 错误,并向用户显示,在 Oracle数据库上构建 .NET 应用程序(8),Oracle DBA 或开发人员很清楚 ORA-12545 的意义,但是最终用户不清楚, 在代码中,应该根据从特殊到一般的顺序对 Catch 语句排序, 一种更好的解决方案
图 6: 捕获到一个 ORA-12545 错误,并向用户显示。
Oracle DBA 或开发人员很清楚 ORA-12545 的意义,但是最终用户不清楚。 一种更好的解决方案是添加一条额外的 Catch 语句来捕获最常见的数据库错误并显示对用户友好的消息。
Catch ex As OracleException ' catches only Oracle errors
If InStr(1, ex.Message.ToString(), "ORA-1:", CompareMethod.Text) Then
MessageBox.Show("Error attempting to insert duplicate data.")
ElseIf InStr(1, ex.Message.ToString(), "ORA-12545:", CompareMethod.Text) Then
MessageBox.Show("The database is unavailable.")
Else
MessageBox.Show("Database error: " + ex.Message.ToString())
End If
Catch ex As Exception ' catches any error
MessageBox.Show(ex.Message.ToString())
catch (OracleException ex) // catches only Oracle errors
{
switch (ex.Number)
{
case 1:
MessageBox.Show("Error attempting to insert duplicate data.");
break;
case 12545:
MessageBox.Show("The database is unavailable.");
break;
default:
MessageBox.Show("Database error:" + ex.Message.ToString());
break;
}
}
catch (Exception ex) // catches any error
{
MessageBox.Show(ex.Message.ToString());
}
注意上面的代码示例中的两条 Catch 语句。 如果没有捕获到任何 Oracle 错误,那么将跳过第一条 Catch 语句分支,让第二条 Catch 语句来捕获其他任何类型的错误。 在代码中,应该根据从特殊到一般的顺序对 Catch 语句排序。 在实施了对用户友好的异常处理代码之后,ORA-12545 错误消息显示如下:
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接