<4D F736F F D20B5DA3130D5C220B4A6C0EDD2ECB3A3BACDB4EDCEF32E646F63>

Size: px
Start display at page:

Download "<4D F736F F D20B5DA3130D5C220B4A6C0EDD2ECB3A3BACDB4EDCEF32E646F63>"

Transcription

1 142 第 7 章处理异常和错误 异常是指应用程序运行时遇到的错误或程序意外的行为 如, 在运算中除以 0 的操作, 调用代码或程序代码中有错误, 操作系统资源不可用等等 异常处理则是在应用程序发生异常情况时, 采取什么样的操作, 是继续程序的执行, 还是中断用户的操作 为了捕捉和处理异常,C# 提供了 3 个关键字 : catch 和 finally 后面紧跟需要执行的代码块, 这称为一个 块 catch 捕捉 代码块中可能发生的异常, 并调用合适的异常处理器进行异常的处理, 称之为 catch 块,finally 是不管异常是否被处理都必须执行的代码块, 称为 finally 块 一个典型的异常处理结构为 : // 块 // 在这一区块中放置需要被执行的程序代码 catch(exception ex) //catch 块 //exception 表示异常处理器, 可以为系统缺省的异常处理器, 也可以是用户自定义的异常处理器 catch(customexception ex) //catch 块 //exception 表示异常处理器, 可以为系统缺省的异常处理器, 也可以是用户自定义的异常处理器 finally //finally 块 // 它在每次块退出时都执行, 不论退出是由正常控制流引起的还是由未处理的异常引起的 7.1 /catch 块 在开发应用程序时, 可以假定任何代码块都可能引发异常, 特别是 CLR 运行库本身可能引发异常 比如 OutOfMemoryException StackOverflowExcpetion 异常 在一些情况下, 可能会使用 if 语句检测可能会引发异常的条件 比如一个除法运算, 在执行前检测被除数是否为一个不是 0 的数值, 如果是则提示用户除法运算失败 如下面所示的示例代码 static void Main(string[] args) int i=division(100, 3); if (i > 0) Console.WriteLine(" 除法运算成功, 结果为 0", i); 142

2 143 else Console.WriteLine(" 除法运算失败!"); Console.ReadLine(); static int division(int x, int y) if (y == 0) return -1; else decimal d = x / y; return (int)d; 在上面的代码中, 程序使用 if 语句对被除数进行了检查 这看起来似乎工作得很好, 但是如果需要对除数与被除数进行更多的控制, 就不得不在代码中使用大理的 if 语句进行判断 而且, 难免会有疏漏 并且, 应用程序错误必须在运行时才能发现, 这对于应用程序逻辑错误将会难以调试和处理 使用 /catch 块, 能够有效的避免 if 语句块的不足, 通过将可能会产生异常的代码放置于 块中, 在 catch 块中追踪可能会产生的异常, 还可以在 catch 块中捕捉应用程序的全局异常 并且.NET 对于异常处理提供了编译时支持, 因此使用 /catch 块是比较好的选择 如果使用异常处理方式, 如下面的示例所示 static void Main(string[] args) int i=division(100,0); Console.ReadLine(); static int division(int x, int y) return (int)x / y; catch (DivideByZeroException ex) throw new Exception(" 除法运算发生了一个错误!"+Environment.NewLine+ex.Message); catch (Exception ex) throw new Exception(" 除法运算发生了一个错误!"); 上面的示例代码中, 通过使用 /catch 语句块, 封装了在运行除法运算中可能会引发的错误, 如果在为被除数赋一个 0 值, 在编译时将会编译不过,debug 模式下 Visual studio2005 将会产生如图 7.1 所示 143

3 144 的错误 如果直接运行程序, 在控制台窗口将会产生如图 7.2 所示的输出 图 7.1 编译时捕捉到异常, 弹出一个 Exception 窗口 图 7.2 运行时捕捉到异常 示例程序中, 通过在 块定义要执行的语句 在 catch 块中捕捉可能出现的异常, 并使用 throw 语句显示抛出了一个异常 在示例程序中, 定义了两个 catch 块 在.NET 中, 可以定义多个 catch 块, 但只能有一个 块 示例代码的第一个 catch 块中, 使用了 DivideByZeroException 异常 这个异常是一个具体异常 他所代表的就是被 0 除的错误, 第二个 catch 块中的异常类通常称为基类异常, 该异常具有比第一个异常更粗的粒度, 在这个示例中是 Exception 类型,Exception 类型是所有异常类的基类 7.2 finally 块 不论是否捕捉到异常,finally 块中的代码一定会执行 举个例子, 在处理文件时, 如果打开了一个文件, 执行一些写入操作, 这时候发生了致命错误, 由于 catch 块捕捉到异常后, 控制权会直接跳转到异常处理结尾, 那么这时候这个打开的文件一直没有被关闭 显然这会造成资源占用, 如果文件是以独占的方式被打开的话, 其他操作将无法顺利进行 另外一个比较常见的例子是数据库操作, 如果正在执行一个行级锁定更新时, 发生了异常, 那么这会导致这个锁一直不能被释放, 继而影响到其余的步骤无法顺利进行 使用 finally 块可以清除 中分配的任何资源, 以及运行任何即使在发生异常时也必须执行的代码 代码控制权最终总是传递给 finally 块, 与 块的退出方式无关 因此,finally 块提供了一种保证资源清理或者是资源恢复的机制 下面的示例程序代码演示了在执行一个文件读写操作的时候, 不论是否发生异常, 最终都关闭文件流 关于文件处理的章节读者可参考第 11 章 static void Main(string[] args) const string filepath FileStream fs=null; Console.WriteLine(" 开始执行文件的比较操作 "); fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); byte[] bytes = Encoding.Default.GetBytes(" 这是一个字符串, 将插入到文本文件 "); // 向流中写入指定的字节数组 fs.write(bytes,0,bytes.length); // 将缓冲区的内容存储到媒介并清除缓冲区 144

4 145 fs.flush(); // 将流指针移到开头 fs.seek(0, SeekOrigin.Begin); byte[] bytes2 = new byte[bytes.length]; fs.read(bytes2, 0, bytes.length); string str = Encoding.Default.GetString(bytes2); Console.WriteLine(" 从文件中读出的字符串为 " + Environment.NewLine+str); catch (IOException ex) Console.WriteLine(" 发生了文件处理的错误!" + ex.message); finally Console.WriteLine(" 不论是否发生异常, 都会执行 finally 到这里 "); if (fs!= null) fs.close(); Console.ReadLine(); 程序没有产生异常的情况下, 输出结果如图 7.3 所示 如果程序发生了异常, 在这里笔者将 FileMode.OpenOrCreate 改为 FileMode.CreateNew, 因为文件己经存在, 将会产生一个 IOException 异常, 如图 7.4 所示 图 7.3 异常输出的结果 图 7.4 异常输出窗口 程序输出窗口如图 7.5 所示 图 7.5 产生异常后的程序输出窗口 从输出窗口可以看到, 不论是否发生了异常, 程序都执行了 finally 块中的代码 7.3 预定义异常的类 在讨论 catch 语句块时, 提到过两个异常类 :DivideByZeroException 和 Exception 类 System.Exception 是 DivideByZeroException 的基类, 也是所有其他异常类的基类 在 System.Exception 基类之后, 又分了两种类型的异常 : 从 SystemException 派生的预定义 CLR 异常类 145

5 146 从 ApplicationException 派生的用户定义的应用程序异常类 如果要定义自己的异常类或者建立自定义的异常体系, 需要从 ApplcationException 类中派生 SystemException 类中的异常是 CLR 预定义的异常类 表 7.1 对 SystemException 中比较常用类进行了介绍, 更多的异常类信息可以参考.NET 中的文档 异常类 System.ArgumentException System.ArgumentNullException System.ArgumentOutOfRangeException System.AccessViolationException System.ArithmeticException System.DivideByZeroException System.NotFiniteNumberException System.OverflowException System.Collections.Generic.KeyNotFoundException System.Data.DataException System.Data.ConstraintException System.Data.InvalidConstraintException System.Data.MissingPrimaryKeyException System.Data.ReadOnlyException System.IO.IOException System.IO.DirectoryNotFoundException System.IO.DriveNotFoundException System.IO.EndOfStreamException System.IO.FileLoadException System.IO.FileNotFoundException System.IO.PathTooLongException 表 7.1.NET 预定义的异常类 描述表示当方法中的参数无效时引发该异常 ArgumentNullException: 表示向不接受 null 的参数传递一个 null 值时, 引发异常 ArgumentOutOfRangeException: 表示向参数传递超出指定的范围的值时, 将引发该异常 如果试图访问或者是读写受保护内存时引发的异常 在运算 类型转换或转换操作中的错误而引发的异常 DivideByZeroException: 被零除时引发异常 NotFiniteNumberException: 当浮点数为正无穷大 负无穷大或非数字 (NaN) 时引发的异常 OverflowException: 在算术运算 类型转换或者是转换操作导致溢出时引发的异常如果使用集合中不存在的键来从该集合检索元素时表示使用 ADO.NET 组件发生错误时引发的异常 ConstraintException: 表示在尝试执行违反约束的操作时引发的异常 InvalidConstraintException: 表示在不正确地尝试创建或访问关系时引发的异常 MissingPrimaryKeyException: 表示在尝试访问没有主键的表中的行时引发的异常 ReadOnlyException: 表示在尝试更改只读列的值时引发的异常 发生 I/O 错误时引发的异常 DirectoryNotFoundException: 表示找不到文件或目录时所引发的异常 DriveNotFoundException: 表示访问的驱动器或共享不可用时引发的异常 EndOfStreamException: 表示读操作试图超出流的末尾时引发的异常 FileLoadException: 表示找到托管程序集却不能加载它时引发 FileNotFoundException: 表示访问磁盘上不存在的文件失败时引发 System.Exception 具有一些属性, 提供了关于引发的异常时产生的一些信息, 例如错误代码位置, 异常描述信息等 在捕捉异常时, 可以利用这些信息进行错误的处理 或者为用户提供关于该异常的描述信息 表 7.2 列出了 System.Exception 的属性列表 表 7.2 System.Exception 属性列表 属性 类型 描述 Message String 描述错误的可读文本 当异常发生时, 运行库产生文本消息通知用户错误的性质并提供解决该问题的操作建议 Data IDictionary 使用由 Data 属性返回的 System.Collections.IDictionary 对象来存储和检索与异常相关的补充信息 Source String 产生异常的程序集的名称 StackTrace String 发生异常时调用堆栈的状态 StackTrace 属性包含可以用来确定代码中错误发生位置的堆栈跟踪, 对于调试来说, 这是非常有用的信息 TargetSite MethodBase 抛出异常的方法 HelpLink String 获取或设置异常的关联帮助文件的链接 InnerExceptoin Exception 创建对以前的异常进行捕捉的新异常 处理第二个异常的代 146

6 147 码可利用前一个异常的其他信息更适当地处理错误 如果不存在前一个异常, 则为 null 下面举一个使用这些属性的例子, 图 7.6 显示了这个例子的数据流程图 在这个示例中,RunMethod 调用 Method2,Method2 调用 Method1 Method1 抛出一个异常,Method2 捕获异常并将 Method1 中的异常传递给 RunMethod 方法,RunMethod 调用 Exception 类的属性在用户界面显示异常信息 示例代码如下所示 图 7.6 样例代码数据流程图 using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Collections; namespace ExceptionInfos class Program static void Main(string[] args) Console.WriteLine(" 显示额外的信息的结果为 :"); Console.WriteLine(); RunMethod(true); Console.WriteLine(" 不显示额外的信息的结果为 :"); Console.WriteLine(); RunMethod(false); Console.ReadLine(); // 显示当前异常和前一个异常的 Exception 属性信息 static void RunMethod(bool displaydetails) // 调用 Method2 方法 147

7 148 Method2(); // 捕捉全局异常 catch (Exception ex) Console.WriteLine(" 当前的异常 Message 属性值为 :0", ex.message); Console.WriteLine(" 内部异常的 Message 属性值为 :0", ex.innerexception.message); Console.WriteLine(" 当前异常的 Source 属性值为 :0", ex.source); Console.WriteLine(" 内部异常的 Source 属性值为 :0", ex.innerexception.source); Console.WriteLine(" 当前异常 StackTrace 属性值为 :0", ex.stacktrace); Console.WriteLine(" 内部异常的 StackTrace 属性值为 :0", ex.innerexception.stacktrace); Console.WriteLine(" 当前异常 TargetSite 属性值为 :0", ex.targetsite); Console.WriteLine(" 内部异常的 TargetSite 属性值为 :0", ex.innerexception.targetsite); Console.WriteLine(" 当前异常 HelpLink 属性值为 :0", ex.helplink); Console.WriteLine(" 内部异常的 HelpLink 属性值为 :0", ex.innerexception.helplink); // 是否显示额外的异常信息 if (displaydetails) // 如果内部异常的 Data 属性不为 null if (ex.innerexception.data!= null) Console.WriteLine(" 额外的异常信息是 :"); foreach (DictionaryEn de in ex.innerexception.data) Console.WriteLine(" 键是 :0, 值为 1", de.key, de.value); // 为 Exception 对象设置值, 并直接抛出异常 static void Method1() Exception ex = new Exception(" 这是原始异常消息 "); string s = " 来自 Method1 的信息 "; int i = 100; DateTime dt = DateTime.Now; ex.data.add(" 方法信息 ", s); ex.data[" 整数值 "] = i; ex.data[" 时间值 "] = dt; throw ex; // 为内部异常的 Data 属性添加更多的信息 static void Method2() // 调用 Method1, 直接引发异常 Method1(); 148

8 149 catch (Exception ex) Exception e = new Exception(" 这是来自 Method2 的异常信息 ", ex); e.innerexception.data[" 附件信息 "] = " 来自 Method2 的信息 "; e.innerexception.data.add(" 更多信息 ", " 来自 Method2 的更多信息 "); throw e; 显示 Data 属性值的输出结果如图 7.7 所示 不显示 Data 属性值的输出结果如图 7.8 所示 图 7.7 显示 Exception 属性的输出结果 图 7.8 显示 Exception 属性的输出结果 7.4 处理异常 本章前面的小节中, 己经详细介绍了 C# 提供的异常处理关键字, 本节将讨论如何在.NET 处理异常 处理多个异常 如果 块中的语句有可能引发多种类型的异常, 那么需要在 catch 块捕捉这些异常并进行相应的处理 在 10.1 节, 讨论 /catch 块时, 曾经介绍过在 块中可以包含多个 catch 块 再以除法运算作为例子, 例如下面的示例代码 static void MorecatchMethod(int x,int y) x / y; catch (DivideByZeroException ex) // 异常处理代码 catch (ArgumentNullException ex) // 异常处理代码 149

9 150 catch (Exception ex) // 异常处理代码 块中包含了可能产生异常的代码, 当异常引发时, 第一个 catch 块捕捉 块中产生的异常, 如果异常类型与 catch 块中的异常相匹配, 在本例中则指如果异常类型为 DivideByZeroException 那么执行权跳转到第一个 catch 块中的代码, 执行完毕跳出异常处理程序块 如果异常类型不匹配, 则跳转到下一个 catch 块, 依序下去, 直到跳转到最后一个 catch 块 如果所有的异常都不匹配, 则交由 CLR 接管异常处理 这种层次式匹配异常的方式称为异常筛选 在设计多个异常处理时, 应将具体异常类放在前面, 而将基础异常类放在最后面 在示例代码中, 最后一个 catch 块的类型为 Exception, 本章己经讨论过, 这个类是所有异常类的基类 因此, 块中的代码如果不匹配任何具体异常, 那么最终将会被 Exception 捕获 C# 编译器对异常筛选提供了支持, 如果非要将一个基础异常类放在具体异常类的前面, 编译器将弹出警告信息 如果将上一个示例中的最后的 catch 块与前一个 catch 块调换位置, 编译时将会产生如图 7.9 所示的异常 图 7.9 异常处理错误 处理和传递异常 System.Exception 类定义了几个在处理异常时相当有用的属性, 在 10.3 节讨论预定义异常类时己经详细的介绍过 Exception 类有一个属性 :InnerException, 这是一个 Exception 类型的属性 表示当前所抛出异常中所内含的另一个异常, 在 C# 的异常处理中使用这个属性进行可以进行异常传递 假如有一个方法 A, 抛出一个异常 A1 有一个方法 B, 调用方法 A, 并且也抛出一个异常 B1 如果希望在抛出 B1 的同时, 也传递方法 A 抛出的异常 A1, 那么需要将 A1 作为一个异常参数传递给 B1, 这样当抛出 B1 时, 也抛出了 A1 下面的代码演示了异常传递的过程 static void Main(string[] args) A2(); catch (Exception ex) Console.WriteLine(" 捕获的异常消息 :0", ex.message); Console.WriteLine(" 捕获的异常所传递的异常的消息 :0", ex.innerexception.message); Console.ReadLine(); 150

10 151 //A1 直接抛出一个异常 static void A1() Exception ex = new Exception(" 这是来自 A1 的异常消息 "); throw ex; //A2 调用 A1, 并将 A1 抛出的异常保存到 InnerException 中 static void A2() A1(); catch(exception e) Exception ex = new Exception(" 这是来自 A2 的异常消息 ",e); throw ex; 图 7.10 为此段代码的输出结果 图 7.10 传递的异常示例结果从输出窗口可以看到, 通过 InnerException 属性, 程序获取了来自内部异常的信息 如果内部异常没有被引发, 则 InnerException 属性值为 null 因此在使用这个属性前, 通常需要判断其值是否为 null 值 从异常中恢复 前面章节中曾经讨论过, 无论异常是否引发,finally 块中的代码都一定会执行 因此, 可以在这个代码块中进行一些清理资源和恢复的工作 比如应用程序状态恢复, 将打开的文件关闭, 关闭数据库连接等操作 在 catch 语句块中, 如果能够确知 块中的代码将会引发哪种类型的异常, 可以在 catch 块中进执行异常恢复的代码, 如果不能确知哪种类型的异常将会被触发, 可以使用不带任何表达式的 catch 语句 在异常恢复的代码执行完成后, 再显示抛出异常, 让调用方能够捕获到该异常并进行相应的处理操作, 这种类型的操作也可以称为异常回滚 举例来说, 如果正在对两个文件同时执行写操作, 如果对第一个文件的写操作己经完成, 执行到对第二个文件的写操作时, 抛出了异常 假设程序要求两个文件必须全部写入成功, 只要有一个文件的写入失败, 就该回滚对第一个文件的写入, 这好比是一个数据库的事务 下面的示例代码演示了如何从异常中恢复 using System; using System.Collections.Generic; 151

11 152 using System.Text; using System.IO; namespace RollbackException class Program static void Main(string[] args) // 在 块中调用写入文件的代码 WriteFile(); catch (Exception ex) Console.WriteLine(ex.Message); Console.ReadLine(); /// <summary> /// 异常恢复的示例, 假定有两个文件, 只要有一个写入失败, 就全部回滚 /// </summary> static void WriteFile() // 文件的路径 const string const string FileStream fs = null; FileStream fs1 = null; long fsposition = 0; long fs1position = 0; string str = " 这是需要被写入到两个文件中的字符串 "; // 将 string 类型转换为 byte 数组 byte[] bytes = Encoding.Default.GetBytes(str.ToCharArray()); fs = new FileStream(filePath1, FileMode.OpenOrCreate, FileAccess.ReadWrite); // 先将流位置移到文件尾部 fs.seek(0, SeekOrigin.End); // 获取 Position, 以用于恢复 fsposition = fs.position; // 写入指定的字节数组 fs.write(bytes, 0, bytes.length); // 写入磁盘清除缓冲区 fs.flush(); fs1 = new FileStream(filePath2, FileMode.CreateNew, FileAccess.ReadWrite); fs1.seek(0, SeekOrigin.End); fs1position = fs1.position; fs1.write(bytes, 0, bytes.length); fs1.flush(); 152

12 153 //catch 后面并没有加任何表达式, 这是可行的, 这表示获取所有与 CLS 兼容或不兼容的异常 // 一旦发生错误, 则将文件恢复到写入前的状态 catch if (fs!= null) fs.position = fsposition; fs.setlength(fsposition); if (fs1!= null) fs1.position = fs1position; fs1.setlength(fs1position); throw; // 执行文件关闭操作 不管有没有引发异常 finally if (fs!= null) fs.close(); if (fs1!= null) fs1.close(); 示例代码中, 使用两个 FileStream 类操作文件, 在代码的 catch 块中, 并没有添加任何特定的异常类, 这表示将捕获所有的异常, 包括与 CLS( 公共语言规范 ) 兼容的异常 ( 继承自 Exception 类 ) 或不兼容的异常 只要异常产生,catch 块中的代码会将文件恢复到执行操作以前的状态, 最后抛出异常给调用代码 7.5 设计自己的异常 如果系统提供的异常类, 己经不能够满足应用系统开发的需要, 或者开发团队需要一套自定义异常处理机制, 可以创建自定义的异常类 为创建自定义异常类, 应该直接或间接的继承自 ApplicationException 类 自定义异常类应该有良好的命名, 一般建议的名称是 : 错误的描述性名称 +Exception 自定义异常类应该定义 3 个构造函数 : 默认构造函数, 接收错误消息的构造函数, 接收错误消息和内部异常对象的构造函数 上一小节在介绍异常恢复时, 举了一个两个文件同步的例子 本节将创建一个自定义的异常类, 当上节示例中产生任何文件操异常时, 不是简单的将系统异常抛出, 而是抛出一个自定义的 153

13 154 WriteFailedException 类型的异常 下面是 WriteFailedException 异常的程序代码 using System; using System.Collections.Generic; using System.Text; namespace CustomException /// <summary> /// 自定义异常类的示例 /// </summary> public class WriteFailedException:ApplicationException // 直接调用基类构造函数 public WriteFailedException() :base(" 对两个文件的操作产生了一个异常 ") // 直接调用基类构造函数 public WriteFailedException(string Message) : base(message) // 直接调用基类构造函数 public WriteFailedException(string Message, Exception inner) : base(message, inner) 定义好异常类后, 就可以像系统内置的异常类一样进行调用了 下面是调用示例代码 static void Main(string[] args) WriteFile(); // 捕捉自定义的异常代码 catch (WriteFailedException ex) Console.WriteLine(ex.Message); Console.ReadLine(); static void WriteFile() throw new WriteFailedException(); 调用代码只是简单的抛出一个自定义异常, 并显示异常信息到控制台窗口 输出结果如图 7.11 所示 154

14 155 图 7.11 自定义异常示例自定义异常中, 除了简单的实现这几个构造函数外, 还可以添加自己的字段和属性 如果异常需要跨越应用程序进行操作, 还可以定义可序列化的异常, 如果读者对这些更进阶的异常处理感兴趣, 可以查阅.NET 文档或者 MSDN 7.6 小结.NET 提供了相当强大的异常处理机制, 要完全理解与掌握, 需要读者多实践多思考 本章中, 首先通过对 /catch/finally 块的介绍, 了解了异常处理机制与传统错误检测机制的比较 然后介绍了预定义的异常类, 并重点讨论了 Exception 类的属性, 这些属性在异常处理方面是相当重要的 接下来, 通过处理多个异常 处理和传递异常 从异常中恢复, 这 3 个比较常用的异常处理方面, 进行了实例探讨, 最后, 本节实现了一个自定义的异常 155

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

内容介绍 6.1 任务预览 6.2 异常 6.3 异常种类与层次结构 6.4 异常处理代码块 try-catch-finally 6.5 throw 语句与 throws 子句 6.6 自定义异常类 6.7 异常处理代码块嵌套 6.8 错误与断言 6.9 本章小结 6.10 实训 6: 除法运算程序

内容介绍 6.1 任务预览 6.2 异常 6.3 异常种类与层次结构 6.4 异常处理代码块 try-catch-finally 6.5 throw 语句与 throws 子句 6.6 自定义异常类 6.7 异常处理代码块嵌套 6.8 错误与断言 6.9 本章小结 6.10 实训 6: 除法运算程序 第 6 章除法运算 异常处理 能力目标 : 学会使用 try-catch-finally 代码块处理异常 学会使用 throw 语句主动抛出异常, 使用 throws 子句从方法声明中抛出异常 理解自定义异常类, 了解断言语句 能运用异常处理机制编写整数 实数除法运算程序 内容介绍 6.1 任务预览 6.2 异常 6.3 异常种类与层次结构 6.4 异常处理代码块 try-catch-finally

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

Java程序设计

Java程序设计 第 6 章异常处理 第 6 章异常处理 本章介绍 Java 语言中的异常处理 6.1 异常处理 6.2 自定义异常 6.3 断言及程序的测试 6.4 程序的调试 2 异常处理 3 异常 异常 (exception ) 又称为例外 差错 违例 对应着 Java 运行错误处理机制 基本写法 try{ 语句组 }catch(exception ex){ 异常处理语句组 ; } 示例 : ExceptionForNum.java

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

untitled

untitled Inside ASP.NET 2.0- ASP.NET 1.1 2. 理念 讀 了 了 度 讀 了 理 類 來 來說 流 了 來 來 來 來 理 來 不 讀 不 不 力 來參 流 讀 了 異 行 來了 錄 行 不 了 來 了 來 行 論說 了 更 不 例 來了 力 行 樂 不 說 兩 例 利 來 了 來 樂 了 了 令 讀 來 不 不 來 了 不 旅行 令 錄 錄 來 了 例 來 利 來 ManagerProvide

More information

1 1 大概思路 Nginx 集群之 WCF 大文件上传及下载 BasicHttpBinding 相关配置解析 transfermode messageencoding maxreceivedmessagesize receivetimeout sendtimeout 编写 WCF 服务 客户端程序

1 1 大概思路 Nginx 集群之 WCF 大文件上传及下载 BasicHttpBinding 相关配置解析 transfermode messageencoding maxreceivedmessagesize receivetimeout sendtimeout 编写 WCF 服务 客户端程序 目录 1 大概思路... 1 2 Nginx 集群之 WCF 大文件上传及下载... 1 3 BasicHttpBinding 相关配置解析... 2 4 编写 WCF 服务 客户端程序... 3 5 URL 保留项... 8 6 部署 WCF 服务程序到局域网内 1 台 PC 机... 8 7 Nginx 集群配置搭建... 9 8 WCF 客户端程序的运行结果... 11 9 总结... 13

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

Microsoft Word - 封面

Microsoft Word - 封面 176 Java 程序设计基础教程 8.1 异常概述 8.1.1 异常的概念 在进行程序设计时, 错误的产生是不可避免的 程序中的错误可分为三类 : 编译错误 逻辑错误和运行时错误 编译错误是由于没有遵循 Java 语言的语法规则而产生的, 这种错误要在编译阶段排除, 否则程序不可能运行 逻辑错误是指程序编译正常, 也能运行, 但结果不是人们所期待的 运行时错误是指程序在运行过程中出现了一个不可能执行的操作,

More information

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f Web Chapter 22 SharePoint Web Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web 21 22-1 SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f Views.asmx View SharePoint

More information

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466> packages 3-31 PART 3-31 03-03 ASP.NET ASP.N MVC ASP.NET ASP.N MVC 4 ASP.NET ASP.NE MVC Entity Entity Framework Code First 2 TIPS Visual Studio 20NuGetEntity NuGetEntity Framework5.0 CHAPTER 03 59 3-3-1

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 Java 高级技术 课程 Java 语言的高级特性 李戈 北京大学信息科学技术学院软件研究所 2010 年 4 月 3 日 异常与错误 错误 (Error) 程序中存在的不能满足预定义的需求 ( 语法需求 语义需求 ) 的成分 ; 错误是静态概念, 通常可以通过静态分析分离出来 ; 异常 (Exception) 异常就是指在程序运行过程中所发生的某些事件, 它中断了指令的正常执行流程 异常通常是指程序运行期间很少会发生的事件,

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

0 本章掌握内容 C# 是一门语言 Framework 是运行库和类库 Visual Studio.NET 是开发环境 / 工具 VS2010 的使用 ( 程序 debug) C# 应用程序一般结构 控制台应用程序 窗体应用程序

0 本章掌握内容 C# 是一门语言 Framework 是运行库和类库 Visual Studio.NET 是开发环境 / 工具 VS2010 的使用 ( 程序 debug) C# 应用程序一般结构 控制台应用程序 窗体应用程序 软件开发基础 (.NET.NET) 1. C# 概述 林毅申 sunsoftware@qq.com 信息学院 计算机科学与工程系 软件工程教研室 505 0 本章掌握内容 C# 是一门语言 Framework 是运行库和类库 Visual Studio.NET 是开发环境 / 工具 VS2010 的使用 ( 程序 debug) C# 应用程序一般结构 控制台应用程序 窗体应用程序 一 C# 及相关概述

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

while ((ch = fr.read())!= -1) { System.out.print((char) ch); fr.close(); 例 3: 用 BufferedReader 读 TXT 文件 public class FileReaderDemo3 { public static v

while ((ch = fr.read())!= -1) { System.out.print((char) ch); fr.close(); 例 3: 用 BufferedReader 读 TXT 文件 public class FileReaderDemo3 { public static v 第九章 Java I/O 流操作 实验目的 (1) 掌握文本文件的读写方法 (2) 掌握 InputStream OutputStream 的使用方法 (3) 熟悉 FileReader,BufferedReader,InputStreamReader 和 FileWriter, BufferedWriter, PrintWriter 的使用方法 ; 理解使用过滤流实现数据项的读写 :DataOutputStream,

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

目录 1 文件操作之一 版权声明 内容详情 追加文件 拷贝文件 删除文件 移动文件 创建目录 文件夹内容拷贝 文件夹内容删除..

目录 1 文件操作之一 版权声明 内容详情 追加文件 拷贝文件 删除文件 移动文件 创建目录 文件夹内容拷贝 文件夹内容删除.. 细细品味 C# 文件操作 精华集锦 csaxp 虾皮工作室 http://www.cnblogs.com/xia520pi/ 2011 年 10 月 4 日 目录 1 文件操作之一...2 1.1 版权声明...2 1.2 内容详情...2 1.2.1 追加文件...2 1.2.2 拷贝文件...2 1.2.3 删除文件...2 1.2.4 移动文件...3 1.2.5 创建目录...3 1.2.6

More information

<4D F736F F D C3E6CFF2B6D4CFF35FB5DACEE5D5C D6D0B5C4D2ECB3A3B4A6C0ED5F2E646F63>

<4D F736F F D C3E6CFF2B6D4CFF35FB5DACEE5D5C D6D0B5C4D2ECB3A3B4A6C0ED5F2E646F63> 第五章 PHP5 异常处理 1 目录 5.1 PHP 中的错误信息...3 5.1.1 php.ini 中配置错误消息...3 5.1.2 php 中错误消息处理...4 5.1.3 php 代码中调整错误级别...5 5.1.4 自定义错误处理...6 5.2 PHP5 中的 SPL 模块...7 5.2.1 什么是 SPL...7 5.2.2 spl.php 中的异常处理类...8 5.2.3

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

ASP.NET实现下拉框二级联动组件

ASP.NET实现下拉框二级联动组件 ASP.NET 实现下拉框二级联动组件 namespace WebApplicationDlh using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using Db; / / Area 的摘要说明 /

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

第一章 章标题-F2 上空24,下空24

第一章 章标题-F2 上空24,下空24 Web 9 XML.NET Web Web Service Web Service Web Service Web Service Web Service ASP.NET Session Application SOAP Web Service 9.1 Web Web.NET Web Service Web SOAP Simple Object Access Protocol 9.1.1 Web Web

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

<4D F736F F D E4345C6BDCCA84323B1E0B3CCD2AAB5E3D6AED2BB2E646F63>

<4D F736F F D E4345C6BDCCA84323B1E0B3CCD2AAB5E3D6AED2BB2E646F63> 基于 WINCE 平台 C# 编程要点之一 本文主要介绍在基于 Windows CE 平台的英创嵌入式主板下进行 C#(Microsoft Visual Stdio.Net 2005) 应用程序开发时会常常用到的一些功能函数以及开发方法, 这些方法适用于英创采用 WinCE 平台的所有型号嵌入式主板, 包括 EM9000 EM9260 EM9160 等 本文要点包括 : 文件的删除和复制 如何获取存取设备的空间大小

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

PowerPoint 簡報

PowerPoint 簡報 國 家 賠 償 法 概 述 主 講 人 : 宋 恭 良 104.10.12 2015.10.30 1 Q. 老 師 是 否 是 公 務 員? 是 否 適 用 國 賠? 法 務 部 95 年 9 月 14 日 法 律 字 第 0170449 號 函 : 國 家 賠 償 法 第 2 條 第 1 項 規 定 本 法 所 稱 公 務 員 者, 謂 依 法 令 從 事 於 公 務 之 員, 係 採 最 廣 義

More information

<4D6963726F736F667420576F7264202D20AC4FBDBDA4FBB67DA96CAABA2DA743A67EAFC5AAA95FA7B9BD5A5F2E646F63>

<4D6963726F736F667420576F7264202D20AC4FBDBDA4FBB67DA96CAABA2DA743A67EAFC5AAA95FA7B9BD5A5F2E646F63> ( 閱 讀 前 ) 練 習 一 動 動 腦, 猜 一 猜 小 朋 友, 現 在 我 們 要 一 起 來 閱 讀 一 本 很 有 趣 的 書, 書 名 是 是 蝸 牛 開 始 的!, 請 動 動 你 的 腦 袋, 想 像 自 己 是 作 者, 猜 猜 這 本 書 在 說 什 麼 樣 的 故 事 呢? 我 覺 得 這 個 故 事 可 能 的 角 色 有 我 覺 得 這 個 故 事 可 能 發 生 的 地

More information

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS C H P T E R 7 Windows Vista Windows Vista Windows VistaFT16 FT32NTFS NTFSNew Technology File System NTFS 247 6 7-1 Windows VistaTransactional NTFS TxFTxF Windows Vista MicrosoftTxF CIDatomicity - Consistency

More information

Microsoft PowerPoint - CPP-Ch Print.ppt [兼容模式]

Microsoft PowerPoint - CPP-Ch Print.ppt [兼容模式] Chapter 17 File Processing http://jssec.seu.edu.cn 杨明 yangming2002@seu.edu.cn OBJECTIVES To create, read, write and update files. Sequential file processing. Random-access file processing. To use high-performance

More information

Microsoft PowerPoint - 11 异常处理 Exception Handling.pptx

Microsoft PowerPoint - 11 异常处理 Exception Handling.pptx 异常处理 Exception Handling Error Handling( 错误处理 ) 看似正确的程序在特殊情况下可能出错 如两个整数相加的程序, 用户输入的是字符串, 如果程序没有考虑到该情况, 则会出错! 可以在各种极端情况下都能正确应对的程序是健壮的 (Robust) 大型程序通常是分层的, 或者是模块化的 有底层的库 (API 函数 ) 调用, 有高层的用户接口 不同层次的模块发现异常情况后该如何处理?

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

三种方法实现Hadoop(MapReduce)全局排序(1)

三种方法实现Hadoop(MapReduce)全局排序(1) 三种方法实现 Hadoop(MapReduce) 全局排序 () 三种方法实现 Hadoop(MapReduce) 全局排序 () 我们可能会有些需求要求 MapReduce 的输出全局有序, 这里说的有序是指 Key 全局有序 但是我们知道,MapReduce 默认只是保证同一个分区内的 Key 是有序的, 但是不保证全局有序 基于此, 本文提供三种方法来对 MapReduce 的输出进行全局排序

More information

FPGAs in Next Generation Wireless Networks WPChinese

FPGAs in Next Generation Wireless Networks WPChinese FPGA 2010 3 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com 1 FPGAs in Next Generation Wireless Networks GSM GSM-EDGE 384kbps CDMA2000

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

untitled

untitled 1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

- 22-4 58 4 5 1998 12 415 416 6 431 7 1993 359

- 22-4 58 4 5 1998 12 415 416 6 431 7 1993 359 - 21-1 2 1 52 1963 1 7 154 2 1478 62 3 202 193-21 - - 22-4 58 4 5 1998 12 415 416 6 431 7 1993 359 - 23-8 8 5 1573 9 10 2120 1982 2 11 1480 729-730 - 23 - - 24-12 1007~1072 14 15 12 1997 4 9-10 13 1997

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

Microsoft Word - Broker.doc

Microsoft Word - Broker.doc Broker 模式 采用 broker 模式对分布式计算进行简单模拟 系统在一个进程内模拟分布式环境, 因此不涉及网络编程和进程间通信,Broker 通过本地函数调用的方式实现 request 和 response 的转发 采用 broker 模式对分布式计算进行简单的模拟, 要求如下 : 设计四个 server, 一个 server 接收两个整数, 求和并返回结果, 一个 server 接收两个整数,

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class - Table.class

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

}; P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ,   string imagedata; if(0!= read_image(a.jpg,imagedata)) { return -1; } string rsp; ytopen_sdk m_sd tencentyun-youtu c++ sdk for 腾讯云智能优图服务 & 腾讯优图开放平台 安装 运行环境 Linux 依赖项 - curl-7.40.0, 获取更新版本 https://github.com/bagder/curl - openssl-1.0.1k, 获取更新版本 https://github.com/openssl/openssl 构建工程 工程采用 CMake 构建 1.

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

教学输入与学习者的语言输出 温晓虹 本文从三个方面探讨了语言的输入与输出的关系 首先从理论研究的角度讨 论了从语言输入到语言输出的习得过程 实验研究表明 输入的语言素材必须被学习者所接收 即使接收了的内容也并不会自动进入中介语的体系 而是需要进一步对输入语言进行 分解 归类等分析性与综合性的处理 在语言 内化 的基础上 学习者的中介语系统才能 够不断地得到重新组合 趋于目的语 另外 学习者在语言输出前和输出时需要调节

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

Microsoft Word - 实验3.doc

Microsoft Word - 实验3.doc 实验 3 C# 和 ASP.NET 4.5 一 实验目的 (1) 了解 C# 语言规范 (2) 掌握 C# 基础语法 流程控制和异常处理等 (3) 掌握创建 C# 类并应用于 ASP.NET 4.5 页面中的方法 (4) 掌握 ASP.NET 4.5 页面的调试方法 二 实验内容及要求 1. 转换输入的成绩到相应的等级要求如下 : (1) 页面浏览效果如图 3-1 所示 (2) 成绩输入使用 TextBox

More information

Microsoft PowerPoint pm--跟我一起学Visual Studio 2005(1):C#语法篇(上)

Microsoft PowerPoint pm--跟我一起学Visual Studio 2005(1):C#语法篇(上) Visual Studio 2005 系列课程 跟我一起学 Visual Studio 2005 C# 语法篇 ( 上 ) 徐长龙 vsts_china@hotmail.com 本系列课程简介 跟我一起学 Visual Studio 2005, 本系列课程的目标是让各位对 VS 2005 有一个全面的认识与了解, 从 VS 2005 的新功能的角度, 全面实例介绍 VS 2005 的各方面新特性 暂定以下九个主题,

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

Microsoft Word - 11.doc

Microsoft Word - 11.doc 除 錯 技 巧 您 將 於 本 章 學 到 以 下 各 項 : 如 何 在 Visual C++ 2010 的 除 錯 工 具 控 制 下 執 行 程 式? 如 何 逐 步 地 執 行 程 式 的 敘 述? 如 何 監 看 或 改 變 程 式 中 的 變 數 值? 如 何 監 看 程 式 中 計 算 式 的 值? 何 謂 Call Stack? 何 謂 診 斷 器 (assertion)? 如 何

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

1.5招募说明书(草案)

1.5招募说明书(草案) PUBLIC 2014 1 PUBLIC - 1 2014 1 PUBLIC - 2 2014 1 PUBLIC - 3 2014 1 PUBLIC - 4 2014 1 PUBLIC - 5 2014 1 PUBLIC - 6 2014 1 PUBLIC - 7 2014 1 PUBLIC - 8 2014 1 PUBLIC - 9 2014 1 PUBLIC - 10 2014 1 PUBLIC

More information