当前位置:首页>滚动 > >正文

环球速看:Python面向对象编程-自定义异常使用(一)

  • 2023-04-22 10:52:56来源:腾讯云


(资料图片)

自定义异常可用于多种目的。

定义文件时,当文件的格式不正确时,我们可以抛出自定义异常来指示错误。

在编写网络应用程序时,如果网络请求失败,我们可以抛出自定义异常来指示错误。在编写数据库应用程序时,如果数据库连接失败,我们可以抛出自定义异常来指示错误。在编写游戏时,如果玩家尝试在不允许的情况下执行某个操作,我们可以抛出自定义异常来指示错误。

下面是一个使用自定义异常的示例,它演示了如何在游戏中处理玩家错误操作:

class InvalidMoveError(Exception):    def __init__(self, message):        self.message = messageclass Game:    def __init__(self):        self.board = [["", "", ""] for i in range(3)]        self.current_player = "X"        def display_board(self):        for row in self.board:            print(row)        def make_move(self, row, col):        if row < 0 or row > 2 or col < 0 or col > 2:            raise InvalidMoveError("Invalid move. Please choose a row and column between 0 and 2.")        if self.board[row][col] != "":            raise InvalidMoveError("Invalid move. That square is already taken.")                self.board[row][col] = self.current_player                if self.current_player == "X":            self.current_player = "O"        else:            self.current_player = "X"        def is_game_over(self):        for i in range(3):            if self.board[i][0] == self.board[i][1] == self.board[i][2] != "":                return True            if self.board[0][i] == self.board[1][i] == self.board[2][i] != "":                return True        if self.board[0][0] == self.board[1][1] == self.board[2][2] != "":            return True        if self.board[0][2] == self.board[1][1] == self.board[2][0] != "":            return True        return Falsegame = Game()while not game.is_game_over():    game.display_board()    row = int(input("Enter row (0-2): "))    col = int(input("Enter column (0-2): "))    try:        game.make_move(row, col)    except InvalidMoveError as e:        print("Error:", e.message)game.display_board()print("Game over!")

上面的示例中,我们定义了一个名为 Game的游戏类,用于处理棋盘和游戏规则。我们还定义了一个名为 InvalidMoveError的自定义异常,用于处理玩家的无效移动。

make_move方法中,如果玩家选择了无效的行或列,则抛出 InvalidMoveError。如果玩家选择了已经被占用的方格,则也会抛出 InvalidMoveError。在 while循环中,我们不断调用 make_move方法,并在出现异常时捕获和处理异常。在异常处理程序中,我们将打印错误消息,告诉用户出现了什么错误。

标签:

延伸阅读

推荐阅读

环球速看:Python面向对象编程-自定义异常使用(一)

上面的示例中,我们定义了一个名为Game的游戏类,用于处理棋盘和游戏规则。我们还定义了一个名为InvalidMov

孔军-当前快看

1、孔军,女,汉族。2、现为北京碧华环境工程有限公司董事长,中国书画艺术研究院副院长,留学归国人员企业

世界新动态:云南夏黑葡萄甜蜜上市 借力拼多多直销全国

春夏交接之际,在云南省红河州建水县一眼望不到头的大棚内,翠绿的葡萄树上已经缀满了一串串个大饱满、颗粒

孔德京 今日热门

1、孔德京。2、中国台球运动员。文章到此就分享结束,希望对大家有所帮助。

日字加一笔有多少字_日字加一笔有多少个字_全球速看

1、旧、旦、白、田、申、电、目、甲、由,这9个大家都会,爱问里这个提问有很多,但采纳的答案我看过,基本

全球微速讯:圣宝龙地砖几线品牌_圣宝龙

1、好呀!我也是用过了这种电动车,还好用。2、带着伴侣更开心。3、祝贺你『一路顺风』质量不咋第,我买了

长沙放款后灵活缴存人员可以调整缴存基数或缴存比例吗?

长沙放款后灵活缴存人员可以调整缴存基数或缴存比例吗?更新时间:2023年4月21日长沙公积金放款后,灵活缴

2023南海大沥镇积分入户第一季度分数及名单公示 热点评

2023年第一季度大沥镇新市民积分入户分数2023年第一季度南海区大沥镇新市民积分入户积分汇总工作已完成,根

精制工业细盐商品报价动态(2023-04-21) 全球速读

交易商品牌 产地交货地最新报价精制工业细盐 一级,粒度40-60,50kg 袋,济南鑫厚商贸有限公司山东山东省540

川西竹海景区可以现场买票吗 当前关注

可以现场购票,在景区门口的线下窗口购买。正常门票可以线上购买,优待票必须要带上有效证件至景区窗口处购

全球观点:环氧丙醇_关于环氧丙醇介绍

环氧丙醇,关于环氧丙醇介绍这个很多人还不知道,我们一起来看看!1、环氧丙醇是一种化学物质,分子式是C3H6

【天天热闻】英国伦敦股市《金融时报》100种股票平均价格指数21日上涨

英国伦敦股市《金融时报》100种股票平均价格指数21日报收于7914 13点,比前一交易日上涨11 52点,涨幅为0 15%。

王京阳妻子 王京阳|全球速看料

今天来聊聊关于王京阳妻子,王京阳的文章,现在就为大家来简单介绍下王京阳妻子,王京阳,希望对各位小伙伴

环球讯息:观察丨从“西湖时代”到“拥江时代”——不断蝶变的杭州“生态绿心”

原标题:公园城市建设应强化生态属性来源:中国绿色时报(2023-04-13)近年来,“公园城市”成为热门词汇,

股票行情快报:ST中利(002309)4月21日主力资金净卖出922.13万元_世界播资讯

截至2023年4月21日收盘,ST中利(002309)报收于4 55元,下跌0 66%,换手率1 4%,成交量10 44万手,成交额4779 25万元。

教练,我想打篮球!大电影《灌篮高手》首映

4月20日,电影《灌篮高手》在中国内地正式上映。距电视版播出27年后,由原作者井上雄彦同时担任导演和编剧

韩国将投资316亿推进氨燃料动力船核心设备国产化,4月25日上海氨氢峰会将交流-今热点

据韩联社报道,近期,韩国庆尚南道战略产业本部宣布,将投资约316亿韩元(约合人民币16 6亿元),大力推进

焦点日报:无边无际的意思怎么解释_无边无际的意思

1、无边无际:际:边缘处。2、形容范围极为广阔。3、[拼音][wúbiānwújì][出处]《霹雳》:“山路

全球短讯!快递车化身“流动宣传站”

淄博高新区快递车化身“流动宣传站”本报讯(记者徐勐)连日来,家住淄博高新区四宝山街道新空间社区的居民

国米官方:对卢卡库禁赛的上诉被驳回,球员缺席意杯半决赛次回合 环球快播报

直播吧4月21日讯国际米兰官方消息,俱乐部针对卢卡库意大利杯停赛的上诉已被驳回。卢卡库在国米对阵尤文图

华能环保2022年净利1463.99万同比增长8.87% 毛利率较上年增长-世界今日讯

华能环保2022年净利1463 99万同比增长8 87%毛利率较上年增长2023 4 2122:17:30挖贝网丁易涵挖贝网4月21日,华能环保(

卜怎么组词_卜的组词

欢迎观看本篇文章,小升来为大家解答以上问题。卜怎么组词,卜的组词很多人还不知道,现在让我们一起来看看

e签宝推出多项新品

e签宝推出多项新品

【象·关注】国内金价重返历史高位 看点

中国作为全球最大的黄金消费市场今年以来金价重返高位并一度超过了460元 克“飙升”的金价对黄金加工市场会

全球热门:笑果工厂北京首店开业!演出、展览、分享会轮番上演

千龙网讯4月21日,国内脱口秀头号厂牌笑果文化正式落户北京东城区隆福寺,全新的线下喜剧空间“笑果工厂”

温州南麂列岛旅游攻略_南麂列岛旅游攻略|天天微速讯

你们好,最近小未来发现有诸多的小伙伴们对于温州南麂列岛旅游攻略,南麂列岛旅游攻略这个问题都颇为感兴趣

全球即时看!龙的逆鳞相当于人的哪里_龙的逆鳞

1、逆鳞是龙脖子下面的一排鳞片,据说是逆着长的,是龙最大的忌讳。2、而谁触摸了龙的逆鳞,就会引的龙勃然

【中国蓝观察】杭州高架的月季花又上热搜了!城市管理,细节之间见真章

中国蓝新闻客户端讯这几天,杭州高架的月季花又㕛叒叕上热搜了。先通过一段视频感受杭州专属的美好。@张力

转让门市合同范本(精选46篇)

转让门市合同范本第1篇经甲、乙双方共同协商,在平等自愿的基础上订立如下商铺使用权转让合同。甲方:身份

每日热闻!23股主力资金净流入超亿元

沪指4月21日下跌1 95%,主力资金全天净流出699 82亿元,已连续13个交易日资金呈净流出状态。其中,创业板主力资

猜您喜欢

Copyright ©  2015-2022 时代服装网版权所有  备案号:   联系邮箱: 514 676 113@qq.com