为了账号安全,请及时绑定邮箱和手机立即绑定

主程序为何抛出异常了

老师前面的主程序都没有抛出异常,怎么最后又变成抛出异常了?

正在回答

3 回答

因为下一节在传入参数的时候,系统会认为你这里传入的编码方式参数会有编码方式转化的异常,所以会报错。实际上传入的参数识别是运行其的事情,但是这里的编译规则则会要求你处理可能出现的异常。

0 回复 有任何疑惑可以回复我~

public static void main(String[] args) throws Exception{//这个地方抛不抛出异常都不会报错

byte[]arr=Covert.intToBytes(8143);

for(byte b:arr){

System.out.print(b+" ");

}

System.out.println();

System.out.println(Covert.bytesToInt(arr));

下一节里的如果主程序没有加抛出异常的话,就会报错

public class EncodeDemon {


public static void main(String[] args) throws Exception {//为什么这个地方要抛出异常

// TODO Auto-generated method stub

         String s="慕课ABC";

         byte[]byte1=s.getBytes();//转换成字节序列用的是项目编码默认的编码GBK     

         for(byte b:byte1){

        //把字节(转换为int型)以十六进制方式显示

        System.out.print(Integer.toHexString(b&0xff)+" ");//b&0xff取低八位,前面的0都不要

         }

         System.out.println();

         byte[]byte2=s.getBytes("gbk");

         for(byte b:byte2){

        //gbk编码中文占两个字节,英文占一个字节

        System.out.print(Integer.toHexString(b&0xff)+" ");

         }

         System.out.println();

         byte[]byte3=s.getBytes("utf-8");

         for(byte b:byte3){

        //utf-8编码中文占三个字节,英文占一个字节

        System.out.print(Integer.toHexString(b&0xff)+" ");

         }

         System.out.println();

         //java是双字节编码 utf-16be

         byte[]byte4=s.getBytes("utf-16be");

         for(byte b:byte4){

        //utf-16be中文占用两个字节,英文占用两个字节

        System.out.print(Integer.toHexString(b&0xff)+" ");

         }

         System.out.println();


0 回复 有任何疑惑可以回复我~

能让me看一下代码吗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
二进制基础
  • 参与学习       99871    人
  • 解答问题       210    个

二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识

进入课程

主程序为何抛出异常了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信