当前位置: 首页 > news >正文

网站源码上传图片出错银行外包不是人干的

网站源码上传图片出错,银行外包不是人干的,做网页找什么公司,网站建设在哪能看大家好#xff0c;欢迎来到乐字节小乐的Java技术分享园地在计算机程序运行的过程中#xff0c;总是会出现各种各样的错误。有一些错误是用户造成的#xff0c;比如#xff0c;希望用户输入一个int类型的年龄#xff0c;但是用户的输入是abc#xff1a;// 假设用户输入了a…大家好欢迎来到乐字节小乐的Java技术分享园地在计算机程序运行的过程中总是会出现各种各样的错误。有一些错误是用户造成的比如希望用户输入一个int类型的年龄但是用户的输入是abc// 假设用户输入了abcString s abc;int n Integer.parseInt(s); // NumberFormatException!程序想要读写某个文件的内容但是用户已经把它删除了// 用户删除了该文件String t readFile(C:\\abc.txt); // FileNotFoundException!还有一些错误是随机出现并且永远不可能避免的。比如网络突然断了连接不到远程服务器内存耗尽程序崩溃了用户点“打印”但根本没有打印机……所以一个健壮的程序必须处理各种各样的错误。所谓错误就是程序调用某个函数的时候如果失败了就表示出错。调用方如何获知调用失败的信息有两种方法方法一约定返回错误码。例如处理一个文件如果返回0表示成功返回其他整数表示约定的错误码int code processFile(C:\\test.txt);if (code 0) {// ok:} else {// error: switch (code) {case 1:// file not found: case 2:// no read permission: default:// unknown error: }}因为使用int类型的错误码想要处理就非常麻烦。这种方式常见于底层C函数。方法二在语言层面上提供一个异常处理机制。Java内置了一套异常处理机制总是使用异常来表示错误。异常是一种class因此它本身带有类型信息。异常可以在任何地方抛出但只需要在上层捕获这样就和方法调用分离了try {String s processFile(“C:\\test.txt”);// ok:} catch (FileNotFoundException e) {// file not found:} catch (SecurityException e) {// no read permission:} catch (IOException e) {// io error:} catch (Exception e) {// other error:}因为Java的异常是class它的继承关系如下┌───────────┐│ Object │└───────────┘▲│┌───────────┐│ Throwable │└───────────┘▲┌─────────┴─────────┐│ │┌───────────┐ ┌───────────┐│ Error │ │ Exception │└───────────┘ └───────────┘▲ ▲┌───────┘ ┌────┴──────────┐│ │ │┌─────────────────┐ ┌─────────────────┐┌───────────┐│OutOfMemoryError │... │RuntimeException ││IOException│...└─────────────────┘ └─────────────────┘└───────────┘▲┌───────────┴─────────────┐│ │┌─────────────────────┐ ┌─────────────────────────┐│NullPointerException │ │IllegalArgumentException │...└─────────────────────┘ └─────────────────────────┘从继承关系可知Throwable是异常体系的根它继承自Object。Throwable有两个体系Error和ExceptionError表示严重的错误程序对此一般无能为力例如OutOfMemoryError内存耗尽NoClassDefFoundError无法加载某个ClassStackOverflowError栈溢出而Exception则是运行时的错误它可以被捕获并处理。某些异常是应用程序逻辑处理的一部分应该捕获并处理。例如NumberFormatException数值类型的格式错误FileNotFoundException未找到文件SocketException读取网络失败还有一些异常是程序逻辑编写不对造成的应该修复程序本身。例如NullPointerException对某个null的对象调用方法或字段IndexOutOfBoundsException数组索引越界Exception又分为两大类RuntimeException以及它的子类非RuntimeException(包括IOException、ReflectiveOperationException等等)Java规定必须捕获的异常包括Exception及其子类但不包括RuntimeException及其子类这种类型的异常称为Checked Exception。不需要捕获的异常包括Error及其子类RuntimeException及其子类。捕获异常捕获异常使用try...catch语句把可能发生异常的代码放到try {...}中然后使用catch捕获对应的Exception及其子类// try...catchimport java.io.UnsupportedEncodingException;import java.util.Arrays;Run如果我们不捕获UnsupportedEncodingException会出现编译失败的问题// try...catchimport java.io.UnsupportedEncodingException;import java.util.Arrays;Run编译器会报错错误信息类似unreported exception UnsupportedEncodingException; must be caught or declared to be thrown并且准确地指出需要捕获的语句是return s.getBytes(GBK);。意思是说像UnsupportedEncodingException这样的Checked Exception必须被捕获。这是因为String.getBytes(String)方法定义是public byte[] getBytes(String charsetName) throws UnsupportedEncodingException {...}在方法定义的时候使用throws Xxx表示该方法可能抛出的异常类型。调用方在调用的时候必须强制捕获这些异常否则编译器会报错。在toGBK()方法中因为调用了String.getBytes(String)方法就必须捕获UnsupportedEncodingException。我们也可以不捕获它而是在方法定义处用throws表示toGBK()方法可能会抛出UnsupportedEncodingException就可以让toGBK()方法通过编译器检查// try...catchimport java.io.UnsupportedEncodingException;import java.util.Arrays;Run上述代码仍然会得到编译错误但这一次编译器提示的不是调用return s.getBytes(GBK);的问题而是byte[] bs toGBK(中文);。因为在main()方法中调用toGBK()没有捕获它声明的可能抛出的UnsupportedEncodingException。修复方法是在main()方法中捕获异常并处理// try...catchimport java.io.UnsupportedEncodingException;import java.util.Arrays;Run可见只要是方法声明的Checked Exception不在调用层捕获也必须在更高的调用层捕获。所有未捕获的异常最终也必须在main()方法中捕获不会出现漏写try的情况。这是由编译器保证的。main()方法也是最后捕获Exception的机会。如果是测试代码上面的写法就略显麻烦。如果不想写任何try代码可以直接把main()方法定义为throws Exception// try...catchimport java.io.UnsupportedEncodingException;import java.util.Arrays;Run因为main()方法声明了可能抛出Exception也就声明了可能抛出所有的Exception因此在内部就无需捕获了。代价就是一旦发生异常程序会立刻退出。还有一些童鞋喜欢在toGBK()内部“消化”异常static byte[] toGBK(String s) {try {return s.getBytes(GBK);} catch (UnsupportedEncodingException e) {// 什么也不干 }return null;这种捕获后不处理的方式是非常不好的即使真的什么也做不了也要先把异常记录下来static byte[] toGBK(String s) {try {return s.getBytes(GBK);} catch (UnsupportedEncodingException e) {// 先记下来再说: e.printStackTrace();}return null;所有异常都可以调用printStackTrace()方法打印异常栈这是一个简单有用的快速打印异常的方法。小结Java使用异常来表示错误并通过try ... catch捕获异常Java的异常是class并且从Throwable继承Error是无需捕获的严重错误Exception是应该捕获的可处理的错误RuntimeException无需强制捕获非RuntimeException(Checked Exception)需强制捕获或者用throws声明不推荐捕获了异常但不进行任何处理。关注乐字节这里有更多更好的Java干货知识
http://www.yutouwan.com/news/82078/

相关文章:

  • 做网站 用什么做数据库最好seo快速排名上首页
  • 山东省建设教育信息网站首页重庆注册公司网上申请入口
  • 上海网站制作网络推广方法网站建设新闻发布注意什么
  • 个人备案网站可以做淘宝客网站建设运营合作合同
  • 国内html5网站案例泊头那家做网站
  • 公司网站关键词优化怎么做网站建设实验原理
  • 互动创意网站上海网站分站建设
  • wap网站平台网站开发需要哪些资料
  • 网站编程用什么语言好东莞网络优化哪家好
  • 如何做自己的淘宝优惠券网站c程序设计课程网站建设论文
  • 网络推广网站优化中国城乡与住房建设部网站
  • 不用框架做网站网站标题就一个关键词
  • 政务服务网站建设情况汇报在线图片制作生成
  • 免费空间域名可以做淘宝客网站推广吗浙江建设信息港咨询电话
  • 猪八戒 网站开发支付深圳网站制作建设服务公司
  • 换空间网站备案花店电子商务网站建设课题设计
  • 浏阳网站建设公司帝国网站系统做专题
  • 网站建设代码结构世界十大网络公司排名
  • 建德网站优化公司网站设计过程
  • 腾冲住房和城乡建设局门户网站网站搜索建设
  • 图片直链在线生成网站合肥专业网站建设
  • 凡科建站微信小程序什么网站下载素材做图的
  • 佛山市网站建设分站多少钱工程门户网站建设
  • 流量多网站深圳flash网站建设
  • 订货网站怎么做网站用ps如何做
  • 江苏分销网站建设seo排名优化软件有用
  • 做公司网站需注意什么在线音乐网站开发
  • 无锡定制网站制作公司网站收录差
  • 自己做网站有名西宁整站优化
  • 做狗狗网站的背景图设计院都是带编制的吗