一、什么是c#中的异常?
异常是程序运行中发生的错误,异常处理是程序的一部分。c#中的异常类主要是直接或者间接的派生于 System.Exception类 ,也就是说System.Exception类是所有预定义的系统异常的基类。错误的出现并不总是编写应用的程序员的原因,有的时候应用程序也会因为终端用户的操作不当而发生错误。无论如何,在编写程序前都应该预测应用程序和代码中出现的错误。
二、常见的异常都有哪些?
① ArrayTypeMismatchException
向数组中存数据时,存入的数据与数组定义的数据类型不同的时候便会出现该异常
② DivideByZeroException
用零除整数时引发该异常
③ IndexOutOfRangeException
数组越界异常
④ NullReferenceException
对象引用为空异常
⑤ OverflowException
算数运算溢出
⑥ InvalidCastException
运行时强制转换无效异常
三、异常处理
使用如下代码结构来捕获和处理异常
其中finally代码块是try-catch结构执行完成后,无论是否发生异常,finally代码块都会执行。即便是写代码时在try-catch结构里return了,仍旧是会执行了finally代码块之后再去return。
接下来看一个简单的异常捕获及处理的例子:
值得一提的是推荐使用throw来抛出异常。因为throw ex会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正发生异常的代码位置。
四、自定义异常
自定义异常应该具有以下三个特征:
① 继承自System.ApplicationException类,并且使用Exception作为自定义异常类名的结尾
② 包含三个构造函数:一个无参构造函数;一个字符串参数的构造函数;一个字符串参数,一个内部异常作为参数的构造 函数
③ 抛出自定义异常:throw new MyException(); 捕获自定义异常:Catch(MyException){ }
举个例子:
五、总结
异常处理的优势:
对用户来说,在程序发生错误时,不至于程序崩溃,而可以给出提示信息,提升用户的使用体验
对开发人员来说,可以在短时间内找到程序发生错误的位置,进而提高效率
前一段时间,由于项目需要将数据库从SQLServer迁移到MySQL,在网上百度了很久,基本都是通过SQLyog实现的。其实使用平时常用的数据库管理软件Navicat Premium也能做到,并且操作简便。
接下来我介绍一下具体的操作流程
1、首先安装MySQL和Navicat Premium数据库管理软件
2、使用NaVicat Premium连接本地MySQL数据库
3、新建要导入数据的数据库此处我的数据库名为AlphaGo
4、在要导入数据的数据库表上右键选择导入向导,选择ODBC点击下一步
5、数据链接属性选择Microsoft OLE DB Provider for SQL Server点击下一步
6、输入连接到SQLServer数据库的连接信息,并勾选允许保存密码,然后点击确定。此处我连接本地的SQLServer数据库
7、选中要导入到MySQL的表点击下一步
8、此时可以修改导入后的对应表名,此处不做修改,点击下一步
9、此处可以修改具体每个表的字段类型,此处不做修改,点击下一步
10、默认选中添加记录到目标表,点击下一步
11、点击开始,查看提示信息如图,数据导入成功