C# 处理异常

2023-11-19

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ch13CardLib
{
    public class CardOutOfRangeException : Exception
    {
        private Cards deckContents;

        public Cards DeckContents
        {
            get
            {
                return deckContents;
            }
        }

        public CardOutOfRangeException(Cards sourceDeckContents) :
            base("There are only 52 cards in the deck.")
        {
            deckContents = sourceDeckContents;
        }
    }
}

继承Exception

base("There are only 52 cards in the deck.")
触发时会传出括号中的文字信息,调用方法:
public Card GetCard(int cardNum)
        {
            if (cardNum >= 0 && cardNum <= 51)
            {
                // Code modified in section "Expanding and Using CardLib"
                if ((cardNum == 51) && (LastCardDrawn != null))
                    LastCardDrawn(this);
                return cards[cardNum];
            }
            else
                throw new CardOutOfRangeException(cards.Clone() as Cards);
        }

或者使用下面的方法调用CardOutOfRangeException :


 Deck deck1 = new Deck();
         try
         {
             Card myCard = deck1.GetCard(60);
         }
         catch (CardOutOfRangeException e)
         {
             Console.WriteLine(e.Message);
             Console.WriteLine(e.DeckContents[0]);
         }
         Console.ReadKey();





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 处理异常 的相关文章

  • 在 C# 中创建具有单独列的分隔文本

    我一直在尝试在 C 中创建一个制表符限制的文本文件 以便数据正确显示在单独的列中 Firstname Lastname Age John Smith 17 James Sawyer 31 我尝试过 t 字符 但我得到的只是 Firstnam
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 向 Nhibernate 发出 SQL 查询

    如何将此 SQL 查询发送给 Nhibernate SELECT Customer name FROM Company INNER JOIN Customer ON Company CompanyId Customer CompanyId
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 将 System.Windows.Input.KeyEventArgs 键转换为 char

    我需要将事件参数作为char 但是当我尝试转换 Key 枚举时 我得到的字母和符号与传入的字母和符号完全不同 如何正确地将密钥转换为字符 这是我尝试过的 ObserveKeyStroke this new ObervableKeyStrok
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 私有模板函数

    我有一堂课 C h class C private template
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub

随机推荐

  • 多益网络_网络安全的未来日益激烈的信息控制之战

    多益网络 Over two decades ago Alphabet CEO Eric Schmidt noted The Internet is the first thing that humanity has built that h
  • 内核虚拟化KVM/QEMU——guest os,qemu,kvm的运行流程

    内核虚拟化KVM QEMU guest os qemu kvm的运行流程 这里主要介绍基于x86平台的Guest Os Qemu Kvm工作流程 如图 通过KVM APIs可以将qemu的command传递到kvm 1 创建VM syste
  • 问题 对于二分类问题,当训练集中正负样本非常不均衡时,如何处理数据以更好 地训练分类模型?

    为什么很多分类模型在训练数据不均衡会出现问题 本质原因是模型在训练时优化的目标函数和人们测试时使用的评价标准不一致 这种不一致可能是训练数据的样本分布和测试数据的不一致 例如训练时优化的整个训练集 正负比例1 99 的正确率 而测试的时候期
  • JavaScript [数组去重] 的部分方法总结

    参考了文章 JavaScript数组去重 12种方法 史上最全 有部分改动 删去了一些没用的代码 替换了部分for循环 一 利用ES6 Set去重 ES6中最常用 function arrayRemoveSame arr return Ar
  • 二手房各项税费计算公式

    北京的房屋类型有很多种 有商品房 公房 一类经适房 二类经适房 两限房 现针对这些类型的房子列一下二手房购置过程中 需要考虑的税费 一 各类房源简介 1 商品房 正规从售楼处买的房源 2 公房 单位分的房子 由于不知道原值 所以个税按 网签
  • sbrk/brk函数用法

    头文件unistd h sbrk brk函数重新指定数据段的结束位置 sbrk 0 获得当前数据段结束地址 sbrk 增量 增量可正 可负 可为0 都返回原来数据段的结束地址 失败返回 1 brk 地址 返回0或 1 通过重新指定数据段新的
  • Matlab导入Excel数据快速绘图

    现在使用Matalb绘图越来越多 不会这个绘图技能感觉都要被时代抛弃了 所以 本文主要是介绍怎么用Matlab导入Excel数据快速绘图 目录 一 基本使用 二 细致调节 1 颜色选项 2 形状选项 3 网格线选项 一 基本使用 事先 建议
  • Python爬虫进阶--js逆向

    目标网址 aHR0cHM6Ly93d3cuZG5zLmNvbS9sb2dpbi5odG1s 抓包定位 首先抓包看请求 这里 password 和 email 都经过加密了 token 可以在页面上找到 从这里进去搜索 直接搜索 passwo
  • 【赠书活动|第六期《强化学习:原理与Python实战》】

    文章目录 RLHF是什么 RLHF适用于哪些任务 RLHF和其他构建奖励模型的方法相比有何优劣 什么样的人类反馈才是好的反馈 RLHF算法有哪些类别 各有什么优缺点 RLHF采用人类反馈会带来哪些局限 如何降低人类反馈带来的负面影响 图书简
  • 打卡C语言学习第十三天

    对之前所学内容复习和补充 练习函数书写
  • ruoyi登录流程

    首先加载登录界面会发送验证码请求和获取Cookie 会调用created函数 Getcode是获取验证码 GetCookie是获取cookie GetCodeImg函数会调用ajax发送请求给后端 后端GetMapping接口接收到请求后执
  • 搜狐2012.9.15校园招聘会笔试题

    一 不定项选择题 1 以下程序的打印结果是 include
  • Android SurfaceView

    下面就贴上一个小程序代码 主要运用SurfaceView来实现在屏幕上画一个圆 你可以通过按方向键和触摸屏幕来改变圆的位置 代码 Activity java view plain copy print package com view im
  • TypeError: 'function' object is not subscriptable

    报错 function object is not subscriptable 原因是Hi是个匿名函数 应该用 而不是 改成 即可 像这种问题TypeError function object is not subscriptable 一般
  • 迷宫问题java老鼠走迷宫(回溯法,递归,二维数组)(超级容易理解)

    回溯法迷宫问题 思路 利用回溯法和递归思想解决 findWay 方法就是专门来找出迷宫的路径 如果找到 就返回 true 否则返回 false map 就是二维数组 即表示迷宫 i j 就是老鼠的位置 初始化的位置为 1 1 因为我们是递归
  • mysql索引实现

    目前大部分数据库系统及文件系统都采用B Tree B树 或其变种B Tree B 树 作为索引结构 B Tree是数据库系统实现索引的首选数据结构 在MySQL中 索引属于存储引擎级别的概念 不同存储引擎对索引的实现方式是不同的 本文主要讨
  • Ubuntu下无法看到共享文件夹的解决办法

    1 输入以下指令 确定共享文件夹是否设置成功 vmware hgfsclient 若是设置成功 会输出贡献文件夹的名字 2 如果已经设置了共享文件夹 请输入下列指令 如果之前没有命令包则先执行sudo apt get install ope
  • 在linux下如何查看局域网的所有主机的ip地址

    策略 用nmap对局域网扫描一遍 然后查看arp缓存表就可以知道局域内ip对应的mac了 nmap比较强大也可以直接扫描mac地址和端口 执行扫描之后就可以 cat proc net arp查看arp缓存表了 或者使用命令arp a 参考
  • 【Goland】巧妙用批量替换Replace

    今天想提一嘴 IDE 的一个功能 就是批量替换 Replace in Path 大家可以按快键键 commnd 进入 Preference 然后搜索 Keymap 也就是快键键 然后搜索 Replace 找到批量替换的快键键 因为快键键就是
  • C# 处理异常

    using System using System Collections Generic using System Linq using System Text namespace Ch13CardLib public class Car