(1) å®ä¹æ们çåºç¡å¼å¸¸ç±»
public class CustomException:ApplicationException { public CustomException() { } public CustomException(string message, Exception inner):base(message,inner) { } }
å®ä¹ä¸¤ä¸ªå¤çå¼å¸¸çæ¹æ³ï¼ä½¿ç¨baseå
³é®å让CustomExceptionæ¹æ³ç»§æ¿èªåºæ¬çé误å¼å¸¸ç±»ApplicationException并æä¾äºä¸¤ä¸ªåæ°ï¼ä¸ä¸ªå¼å¸¸æ¶æ¯åæ°åä¸ä¸ªå¼å¸¸é误类ã
(2) ç¶åæ们åå®ä¸ä¸ªå¤çæ们ä¸åèªå®ä¹é误类åçé误å¤çç±»ï¼ä¸åçåºç¨ç¨åºå¼å¸¸ç±»å使ç¨ä¸åçå¼å¸¸å¤çç±»ã
public class DuplicateCustomerIDException : CustomException { public DuplicateCustomerIDException() { } public DuplicateCustomerIDException(string message, Exception inner):base(message,inner) { } }
å½åºç°ç¸åºç±»åçå¼å¸¸æ¶ï¼å¨è¿ä¸ªèªå®ä¹å¼å¸¸å¤çä¸å¯ä»¥å¨åºç°é误çæ¶ååä¸ç³»åçå¤çï¼ç¶ååæåºå¼å¸¸ä¿¡æ¯ï¼ä¾å¦ï¼è®°å½é误æ¥å¿ï¼æè
å容éå¤ççã
(3) æåæ们å¨æ·»å 客æ·è®°å½çæ¶åï¼ä½¿ç¨æ们èªå®ä¹çC#å¼å¸¸ç±»
private void AddCustomerRecord() { SqlConnection cn = new SqlConnection(DBConn); cn.Open(); try { SqlCommand com = new SqlCommand("Insert Into Customers (CustomerID,CompanyName,ContactName) Values ('"+ftxt_CustomerID.Text+"','"+ftxt_CompanyName.Text+"','"+ftxt_ContactName.Text+"')",cn); com.ExecuteNonQuery(); } catch(SqlException ex) { if(ex.Number == 2627) { throw new DuplicateCustomerIDException("CustomerIDéå¤",ex); } else { MessageBox.Show("æå","æ示信æ¯",MessageBoxButtons.OK,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1,MessageBoxOptions.DefaultDesktopOnly); } } finally { cn.Close(); } }
å
¶ä¸çex.Number == 2627å°±æ¯ç±äºæ°æ®è¡¨ä¸ä¸»é®éå¤ä¸è½æ·»å éå¤ä¸»é®çè®°å½æ¶æåºçå¼å¸¸å·ç ï¼å¦æå¼å¸¸ç±»å符åææåºæ们èªå®ä¹çå¼å¸¸å¤çç±»ã
(4) æåæ们å¨è°ç¨è¿ä¸ªæ¹æ³æ¶ï¼ç¼å代ç æè·è¿ä¸ªæ们èªå®ä¹ç±»åçå¼å¸¸
private void fbtn_Submit_Click(object sender, System.EventArgs e) { try { AddCustomerRecord(); } catch(DuplicateCustomerIDException ex) { MessageBox.Show(ex.Message); } }
以ä¸å°±å®ç°äºC#å¼å¸¸ç±»çèªå®ä¹ã
温馨提示:内容为网友见解,仅供参考
C#怎么写异常类?
if(是负数){ throw new Exception("textbox1的内容不能是负数");} 如果一定要自定义异常类,可以定义:public class MyExp :Exception { } 然后代码里 if(是负数){ throw new MyExp("textbox1的内容不能是负数");}
C#自定义异常类
这个首先要你的程序抛出你的异常啊 throw new MyException();抛出才能捕获,否则你只会捕获系统给你抛出的异常,也就是基类Exception
c#怎么做一个自定义的命令行程序
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics; namespace StudentMain_Killer{ \/\/\/ \/\/\/ DOS命令输出类 \/\/\/ public class CommandDo { \/**\/ \/\/\/ \/\/\/ 执行DOS命令,返回DOS命令的输出 \/\/\/ \/\/\/ dos...
C# 我在类库中自定义异常类,为什么在主函数中不能使用自定义异常?
vs主菜单: 调试-异常 添加 其实不需要任何特别的设置 你的代码可以正常执行并调试
C#进阶系列——WebApi 异常处理解决方案
具体实现中,首先创建一个类WebApiExceptionFilterAttribute.cs,继承自ExceptionFilterAttribute,并在OnException方法中,通过判断异常的具体类型,如自定义异常类型,向客户端返回不同的HTTP状态码,例如将对应的状态码写入HTTP请求的响应中。对于无法判断类型的异常,则统一返回服务端错误500。HTTP状态码在框架...
在C#中,发生异常时MessageBox.Show(ex.Message)
然后以可以用模态的方式弹出,按钮、按钮的文本、样式,个数等都由你自己定,当然需要你还可以加一些其它东西,如定时关闭的功能,不过一切都要自己写代码,像QQ游戏的对话框是自定义的一个控件。哦,对了,点击确认后,做什么事,自己可以看那个四级的代码即可。
C#中如何判断异常的类型
可以使用异常语句catch( Exception ex)获取异常,然后通过ex.GetType()得到异常的类型,代码如下所示:try{ int b = 0; int a = 100 \/ b;}catch( Exception ex){ MessageBox.Show( ex.GetType().ToString());}运行如下:
c#中throw用法
强制抛出一个异常,相当于人为的制造一个异常,使得try catch生效。比如 try { throw new Exception();} catch { MessageBox.Show("自己抛出的异常");}
如何在C#中使用Polly:轻松处理故障和重试
首先,我们通过一个具体的网络请求示例,展示了如何在C#中使用Polly处理网络连接故障。通过定义一个`NetworkRequestHandler`类,使用`AsyncRetryPolicy`策略,对`HttpRequestException`进行自动重试,确保了网络请求的可靠性。该策略通过`WaitAndRetry`方法实现指数退避策略,即在重试次数之间逐渐延长等待时间,从而...
C#中throw new Exception是什么意思,这么使用?
那么通过向调用者抛出异常(Exception)的方式,由调用者统一处理执行状态。你