GO语言异常处理02---返回错误
package main import (
"errors"
"fmt"
"math"
) /*计算圆面积,同时返回【结果-错误对】*/
func GetCircleAreaII(radius float64) (float64, error) {
if radius <0 {
err := errors.New("傻鸟半径不能为负数啦!")
return 0, err
}
return math.Pi*radius*radius,nil
} func main031() {
area, err := GetCircleAreaII(-5)
if err != nil{
fmt.Println("面积计算失败,err=",err)
}else {
fmt.Println("面积计算成功,area=",area)
} fmt.Println("生活所承诺的其他美好事物")
fmt.Println("GAME OVER")
} /*对于没有必要返回结果的函数,可以在执行出错时返回一个error对象*/
var asciichar rune = '0' func changeAsciiChar(newChar rune)error {
if newChar > 127{
return errors.New("所传入的不是一个ASCII字符")
}
asciichar = newChar
return nil
} func main() {
err := changeAsciiChar('妹')
if err != nil{
fmt.Println("修改ASCII字符失败")
}else {
fmt.Println("修改成功")
}
fmt.Printf("%c\n",asciichar)
}
GO语言异常处理02---返回错误的更多相关文章
- Go语言异常处理defer\panic\recover
Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...
- 第63课 C语言异常处理
1. 异常的概念 (1)程序在运行过程中可能产生异常 (2)异常(Exception)与Bug的区别 ①异常是程序运行时可预料的执行分支 ②Bug是程序是的错误,是不被预期的运行方式 2. 异常和Bu ...
- go语言异常处理
go语言异常处理 error接口 go语言引入了一个关于错误错里的标准模式,即error接口,该接口的定义如下: type error interface{ Error() string } 对于要返 ...
- c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)
C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...
- C语言中函数返回字符串的4中方法
C语言中函数返回字符串的4中方法 函数的构成部分:返回类型.函数名称.参数.函数主体 参数:函数调用时传入的参数称为实参,函数定义时出现的参数为形参 形参的作用在于接收实参传入的值,形参和函数内部的其 ...
- HttpWebResponse远程服务器返回错误: (500) 内部服务器错误。
现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl); req.Us ...
- NuGet在Push的时候提示“远程服务器返回错误:(403)已禁用”问题解决
在使用NuGet把包push到nuget官网的时候,提示了如下信息: Failed to process request. 'The specified API key is invalid or d ...
- C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法
最近在做项目的时候需要操作ftp进行文件的上传下载,但在调用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的时候总 ...
- C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)
今天用代码删除FTP服务器上的目录时候,报错:远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件). 习惯性的google,不外乎以下几点: 1.URL路径不对,看看有没有多加 ...
随机推荐
- Python中数据类型的转换
bytes<-->str a="hello" #str字符型 #str转换为bytes类型 b=a.encode("utf-8") 或 b=byte ...
- POJ3122贪心或者二分(分蛋糕)
题意: m+1个人来分n个蛋糕,每个人分到的蛋糕数必须一样而且还必须是同一个蛋糕上的,问每个人最多分多少蛋糕? 思路: 能想到的方法有两种,一个是直接贪心,另一个就是二分,这个 ...
- Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)
目录 用scapy模块写 用 python-nmap 模块写 python3.7 windows环境 以下两个都可以扫描指定主机或者指定网段的 IP 对应的 MAC 地址,然后保存到 csv 文件中 ...
- Mac/Win录屏工具推荐-LICEcap
轻小.便捷.操作简单 下载 LICEcap v1.30 for macOS LICEcap v1.28 for Windows 参考地址
- vue 2.9.6升级到最新版本
在看文档https://cli.vuejs.org/zh/guide/installation.html中,按步骤升级vue: 于是就先通过 npm uninstall vue-cli -g卸载vue ...
- spring mvc @Repository 注入不成功 的原因?
这样的代码会影响 @Repository 注入
- centos 7.6 安装最新版docker 19.03
systemctl stop docker rpm -qa | grep docker 看到那个删除那个yum erase docker \ docker-client \ docker-client ...
- 中国排名前100的IC设计公司
中国排名前100的IC设计公司 北京地区大唐微电子技术有限公司北京北大众志微系统科技有限责任公司北京中星微电子有限公司中国华大集成电路设计中心 北京中电华大电子设计有限责任公司 北京清华同方微电子 ...
- Linux单设备多路USB串口的实现方法介绍
某设备需要提供多路USB串口的功能给主机端使用,比如一路用作业务1通信功能,一路用作业务2通信功能,一路用作debug抓log用途,诸如此类.如下图所示. 要实现上述设备功能,可以参考如下步骤. 1) ...
- 基于pyqt5和openpyxl和Pyinstaller的青年大学习检查未学习人数的脚本
前几天接到团支书的一个需求,因为学校给的名单是青年大学习已学习的名单,然而要知道未学习的名单只能从所有团员中再排查一次,过程相当麻烦.团支书跟我抱怨后,刚好我也学过一些操作办公软件的基础.打包pyth ...