c# 编写自定义异常类
C#中的異常都是從SystemException(系統異常)和ApplicationException(應用程序異常)兩個類派生而來,?在自定義異常類時通常都是從ApplicationException派生,只有在開發.NETFramework的擴展類庫時才考慮從SystemException派生。
在定義自己的派生異常類時通常要注意一下幾點:
? ? ? ? 一:如果你的異常是需要寫入文件的,如日志等,則需要將異常類聲明為可序列化的[Serializable]
? ? ? ? 二:要實現一個無參數的構造函數,因為可能會拋出無參異常
? ? ? ? 三:實現一個包含message的構造函數
? ? ? ? 四:實現一個包含message,及內部異常類型參數的構造函數
? ? ? ? 五:添加自己的錯誤識別數據成員和處理函數
------------------YYC
?[Serializable]
? ? class MyException ?: ApplicationException
? ? {
? ? ? ? private int a;
? ? ? ? public MyException() {
? ? ? ? ? ? a = 0;
? ? ? ? }
? ? ? ? public MyException(string message,int b)
? ? ? ? ? ? : base(message) {
? ? ? ? ? ? ? ? a = b;
? ? ? ? }
? ? ? ? public MyException(string message, Exception inner,int b) ?
? ? ? ? ? ? : base(message, inner) {
? ? ? ? ? ? ? ? a = b;
? ? ? ? } ?
? ? ? ? public ?int ?GetInt()
? ? ? ?{
? ? ? ? ?return a;
? ? ? ?}
? ? }
?try {
? ? ? ? ? ? ? ? int a = 1;
? ? ? ? ? ? ? ? if (a == 1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? throw new MyException("YYC",2);
? ? ? ? ? ? ? ? ? ?// throw new MyException();
? ? ? ? ? ? ? ? ? ? //此處的“YYC”字符串是加載在EXception異常對象的Message中
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? catch (MyException ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show(ex.Message+ex.GetInt().ToString());
? ? ? ? ? ? ? ? //會顯示用戶加載的錯誤信息,如果用戶有加載信息的話?
? ? ? ? ? ? }
轉載于:https://www.cnblogs.com/yangyuan33/p/7423847.html
總結
以上是生活随笔為你收集整理的c# 编写自定义异常类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: select下拉列表选中后,跳转新链接
- 下一篇: C#应用视频教程3.1 USB工业相机测