扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:John Paul Cook 来源:Oracle中国 2007年10月22日
关键字: ORACLE
在本页阅读全文(共5页)
Dim conn As New OracleConnection(oradb) ' VB.NET Try conn.Open() Dim cmd As New OracleCommand cmd.Connection = conn cmd.CommandText = "select dname from dept where deptno = " + TextBox1.Text cmd.CommandType = CommandType.Text If dr.Read() Then Label1.Text = dr.Item("dname") ' or use dr.Item(0) End If Catch ex As Exception ' catches any error MessageBox.Show(ex.Message.ToString()) Finally conn.Dispose() End Try OracleConnection conn = new OracleConnection(oradb); // C# try { conn.Open(); OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; cmd.CommandText = "select dname from dept where deptno = " + textBox1.Text; cmd.CommandType = CommandType.Text; if (dr.Read()) // C# { label1.Text = dr.GetString(0); } } catch (Exception ex) // catches any error { MessageBox.Show(ex.Message.ToString()); } finally { conn.Dispose(); }虽然这种方法将适当地捕获尝试从数据库中获取数据时发生的任何错误,但这种方法对用户却不友好。 例如,看看下面这条在数据库不可用时显示的消息。
图 6: 捕获到一个 ORA-12545 错误,并向用户显示。 |
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 错误消息显示如下:
图 7: 针对 ORA-12545 错误的对用户友好的消息 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者