java编程中经常遇到异常,这时就需要利用java中的异常抛出机制,在java中提供了两种抛出异常的方法:try{} catch() {}和throw。
(1) 首先我们来看一下try() catch(){}这种方式:
try{ i=9\0; } catch(exception e) { system.out.println("除数不能为0"); }
该种方式是将待执行的代码放入try中,如果执行的代码发生异常就会被catch,从而执行catch中的代码。
if(age < 0){ throw new MyException("年龄不能为负数!"); }
java中可以对一个方法在定义时就进行异常的声明,而后在实现时可以利用throw具体的抛出异常。
ppublic class Shoot { 创建类 static void pop() throws NegativeArraySizeException { //定义方法并抛出NegativeArraySizeException异常 int [] arr = new int[-3];//创建数组 } public static void main(String[] args) {//主方法 try { pop(); //调用pop()方法 } catch (NegativeArraySizeException e) { System.out.println("pop()方法抛出的异常");//输出异常信息 } } }
备注: 常见的异常类:IOException、SQLException,亦可以自定义异常类。
SET NOCOUNT OFFCREATE UNIQUE CLUSTERED INDEX employeeID_ind ON emp_pay (employeeID) GO
在执行完上述创建索引的代码以后,我们再次查询emp_pay的数据内容,如下图所示:
从上图我们可以发现数据内容已经按照employeeID进行了排序。
我们继续执行前面关于employeeID=5的查询,点击“显示估计的执行计划”,出现如下图所示内容:
当我们为数据库表中的某一个字段创建索引,并且在查询语句中where子句中用到这样一个字段,那么查询效率会有所提高,我们上述实验因为数据量的关系查询效率提高不明显。
我们上面添加的索引是唯一聚集索引,因此当插入的数据在employeeID字段出现重复时会报错。假如我们在创建索引之前数据字段出现重复,那么就不能创建唯一索引。
update emp_pay set employeeID=7 where employeeID=1;
只要我们更新了employeeID,那么最后的更新结果都会按照employeeID的值进行升序排序。这是因为我们在employeeID上创建了索引的缘故。
我们可以通过sql server management studio这个工具删除索引,也可以通过sql语句进行索引的删除,假设我们要求删除在前面创建的索引employeeID_ind,那么sql语句如下代码所示: