A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yueguhua 中级黑马   /  2012-9-15 21:15  /  3194 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我看在别人的代码段中 有个try  catch finally 然后又有个throw 不知道是什么意思啊
英文是 扔 抛出 但是加在代码里面代表什么呢? 求高手解答

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
吴瑞祥 来自手机 中级黑马 2012-9-15 21:40:53
沙发
抛出一个异常信息,让上一层的异常处理程序可以根据信息来判断这里发生了什么错误

点评

太笼统了 可以具体点么举个例子~~  发表于 2012-9-15 21:46
回复 使用道具 举报
try
{ //程序中抛出异常 throw value; }
catch(valuetype v)
{ //例外处理程序段 }
throw抛出值,catch接受,throw必须在“try语句块”中才有效

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
  1. public void aa()
  2.         {
  3.             try
  4.             {
  5.                 //这里的代码可能会出现异常
  6.             }
  7.             catch (Exception e)
  8.             {
  9.                 //这里负责接收异常
  10.                 //这里的e就是用来存异常信息的
  11.                 //用throw关键字来显示异常信息
  12.                 throw e;
  13.             }
  14.         }
复制代码
Catch 中的参数不仅限于这一种,Exception 是一般错误,但并不是所有错误都能捕捉的。
其中还有很多异常,比如空值异常,你可以参考下Exception 异常类,里面包括了所有可能发生的异常。
下面我列出来,有兴趣可以看看:

Microsoft.Build.BuildEngine.InternalLoggerException  此异常用于包装来自记录器的未处理异常。  
Microsoft.Build.BuildEngine.InvalidProjectFileException  当用户的 XML 项目文件出现问题时,会引发此异常。该问题可能是语义问题也可能是语法问题。如果该问题是语法问题,则通常是由 XSD 验证导致的。  
Microsoft.Build.Framework.LoggerException  使记录器可以通过显式方式强制生成停止。  
Microsoft.JScript.CmdLineException   
Microsoft.JScript.ParserException   
Microsoft.VisualBasic.ApplicationServices.CantStartSingleInstanceException  当单实例应用程序的后续实例无法连接到第一个应用程序实例时,将引发此异常。  
Microsoft.VisualBasic.ApplicationServices.NoStartupFormException  当未设置 MainForm 属性时,Visual Basic 应用程序模型会引发此异常。  
Microsoft.VisualBasic.CompilerServices.IncompleteInitialization   
Microsoft.VisualBasic.CompilerServices.InternalErrorException   
Microsoft.VisualBasic.FileIO.MalformedLineException  当 ReadFields 方法不能使用指定格式分析行时引发的异常。  
Microsoft.WindowsMobile.DirectX.DirectXException  由托管代码应用程序的 Windows Mobile DirectX 引发的异常。  
System.ApplicationException  发生非致命应用程序错误时引发的异常。  
System.ComponentModel.Design.ExceptionCollection  表示异常的集合。  
System.Configuration.Provider.ProviderException  当发生配置提供程序错误时引发的异常。如果提供程序内发生的内部错误没有映射到其他已存在的异常类,则提供程序也使用此异常类来引发异常。  
System.Configuration.SettingsPropertyIsReadOnlyException  提供只读 SettingsProperty 对象的异常。  
System.Configuration.SettingsPropertyNotFoundException  提供未找到的 SettingsProperty 对象的异常。  
System.Configuration.SettingsPropertyWrongTypeException  提供在对 SettingsProperty 对象使用无效类型时引发的异常。  
System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectExistsException  当创建了 Active Directory 对象且该对象在基础目录存储区中已存在时,将引发 ActiveDirectoryObjectExistsException 类异常。  
System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectNotFoundException  当在基础目录存储区中找不到请求的对象时,将引发 ActiveDirectoryObjectNotFoundException 类异常。  
System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException  当基础目录操作失败时,将引发 ActiveDirectoryOperationException 类异常。  
System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException  当服务器无法响应服务请求时,将引发 ActiveDirectoryServerDownException 类异常。  
System.DirectoryServices.Protocols.DirectoryException  DirectoryException 类是一个抽象类,用作所有 System.DirectoryServices.Protocols 异常的基类。  
System.IO.IsolatedStorage.IsolatedStorageException  独立存储中的操作失败时所引发的异常。  
System.Net.Mail.SmtpException  表示当 SmtpClient 无法完成 Send 或 SendAsync 操作时引发的异常。  
System.Runtime.CompilerServices.RuntimeWrappedException  包装不是从 Exception 类派生的异常。无法继承此类。  
System.Runtime.Remoting.MetadataServices.SUDSGeneratorException  在生成 Web 服务描述语言 (WSDL) 的过程中发生错误时将引发的异常。  
System.Runtime.Remoting.MetadataServices.SUDSParserException  在分析 Web 服务描述语言 (WSDL) 的过程中发生错误时将引发的异常。  
System.SystemException  为 System 命名空间中的预定义异常定义基类。  
System.Web.Security.MembershipCreateUserException  在成员资格提供程序未成功创建用户时引发的异常。  
System.Web.Security.MembershipPasswordException  无法从密码存储区检索到密码时引发的异常。  
System.Web.UI.ViewStateException  表示当无法加载或验证视图状态时引发的异常。无法继承此类。  
System.Windows.Forms.AxHost.InvalidActiveXStateException  引用处于无效状态的 ActiveX 控件时引发的异常。

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马