1、示例一
// try-catch处理异常
public class Error { public static void main(String[] args) { int num1=34,num2=0; //使用try包裹住会产生异常的代码段 try{ System.out.println(num1/num2); } //使用catch去处理对应的异常 catch(ArithmeticException error){ //处理方法 System.err.println("运算错误,除数不能为0!"); } System.out.println("程序运行结束!"); } }
结果验证:
运算错误,除数不能为0!
程序运行结束!
2、示例二
import java.util.InputMismatchException; import java.util.Scanner; public class Error { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入第一个数字:"); //使用try包裹住会产生异常的代码段 try{ int num1=input.nextInt(); System.out.println("请输入第二个数字:"); int num2=input.nextInt(); System.out.println(num1/num2); } //使用catch去处理对应的异常 catch(ArithmeticException error1){ //处理方法 System.err.println("运算错误,除数不能为0!"); }catch(InputMismatchException error2){ System.err.println("请输入正确的数字!"); } System.out.println("程序运行结束!"); } }
结果验证:
结果一:
请输入第一个数字:
123
请输入第二个数字:
123
1
程序运行结束!
结果二:
请输入第一个数字:
123
请输入第二个数字:
b
请输入正确的数字!
程序运行结束!
结果三:
请输入第一个数字:
123
请输入第二个数字:
0
运算错误,除数不能为0!
程序运行结束!
3、示例三
// 用户输入字符串转整型
3.1
public class Error { String str; public Error(String str) { this.str = str; } public String Transform(){ try{ int num = Integer.parseInt(str); }catch(NumberFormatException num){ System.out.println("字符串转整型,请输入正确的数字:"); }catch(Exception e){ } return str; } }
// 编写测试类,调用数据类型转换方法,分别传递参数“Good!”、20
public class ErrorDemo { public static void main(String[] args) { Error er = new Error("Good!"); er.Transform(); System.out.println(er.str); } }
字符串转整型,请输入正确的数字:
Good!
3.2
public class Error { int num = 0; public Error() { } public Error(int num) { this.num = num; } public int TransformtoInt(String str){ try{ int num1 = Integer.parseInt(str); }catch(NumberFormatException num){ System.err.println("字符串转整型,请输入正确的数字:"); }catch(Exception error){ error.printStackTrace(); } return num; } }
import java.util.Scanner; public class ErrorDemo { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个数字:"); String str = input.next(); Error toInt = new Error(); toInt.TransformtoInt(str); System.out.println(str); } }
验证:
请输入一个数字:
123
123
请输入一个数字:
abc
字符串转整型,请输入正确的数字:
abc
4、示例四
//[b]throws、throw抛出异常[/b]
public class Error { String sex ; public Error() { } public String getSex() { return sex; } public void setSex(String sex) throws Exception { if(sex.equals("男")|sex.equals("女")){ this.sex = sex; }else{ throw new Exception("性别必须为男或者女!"); } } }
public class ErrorDemo { public static void main(String[] args) { Error er = new Error(); try{ er.setSex("熊"); }catch(Exception error){ error.printStackTrace(); } System.out.println("程序结束"); } }
java.lang.Exception: 性别必须为男或者女!
at Error.setSex(Error.java:22)
at ErrorDemo.main(ErrorDemo.java:9)
程序结束
5、
自定义异常
// 创建Excption子类继承[b]Excption父类[/b]
//创建类 public class Error { String sex ; public Error() { } public String getSex() { return sex; } public void setSex(String sex) throws Exception { if(sex.equals("男")|sex.equals("女")){ this.sex = sex; }else{ throw new ExceptionDemo("性别必须为男或者女!"); } } }
//创建ExceptionDemo子类 public class ExceptionDemo extends Exception { public ExceptionDemo() { super(); } public ExceptionDemo(String message) { super(message); } }
//创建测试类 import java.util.Scanner; public class ErrorDemo { public static void main(String[] args) { Error er = new Error(); try{ Scanner next = new Scanner(System.in); System.out.println("请输入性别:"); er.setSex(next.next()); }catch(Exception error){ error.printStackTrace(); } System.out.println("程序结束!"); } }
结果验证:
请输入性别:
男
程序结束!
请输入性别:
nan ExceptionDemo: 性别必须为男或者女! at Error.setSex(Error.java:23) at ErrorDemo.main(ErrorDemo.java:10)
程序结束!
以上就是Java的异常处理 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

JavadevelovermentIrelyPlatForm-DeTueTososeVeralFactors.1)JVMVariationsAffectPerformanceNandBehaviorAcroSsdifferentos.2)Nativelibrariesviajnijniiniininiinniinindrododerplatefform.3)

Java代码在不同平台上运行时会有性能差异。1)JVM的实现和优化策略不同,如OracleJDK和OpenJDK。2)操作系统的特性,如内存管理和线程调度,也会影响性能。3)可以通过选择合适的JVM、调整JVM参数和代码优化来提升性能。

Java'splatFormentenceHaslimitations不包括PerformanceOverhead,versionCompatibilityIsissues,挑战WithnativelibraryIntegration,Platform-SpecificFeatures,andjvminstallation/jvminstallation/jvmintenance/jeartenance.therefactorscomplicatorscomplicatethe“ writeOnce”

PlatformIndependendecealLowsProgramStormonanyPlograwsStormanyPlatFormWithOutModification,而LileCross-PlatFormDevelopmentRequiredquiresMomePlatform-specificAdjustments.platFormIndependence,EneblesuniveByjava,EnablesuniversUniversAleversalexecutionbutmayCotutionButMayComproMisePerformance.cross.cross.cross-platformd

JITcompilationinJavaenhancesperformancewhilemaintainingplatformindependence.1)Itdynamicallytranslatesbytecodeintonativemachinecodeatruntime,optimizingfrequentlyusedcode.2)TheJVMremainsplatform-independent,allowingthesameJavaapplicationtorunondifferen

javaispopularforcross-platformdesktopapplicationsduetoits“ writeonce,runanywhere”哲学。1)itusesbytbytybytecebytecodethatrunsonanyjvm-platform.2)librarieslikeslikeslikeswingingandjavafxhelpcreatenative-lookingenative-lookinguisis.3)

在Java中编写平台特定代码的原因包括访问特定操作系统功能、与特定硬件交互和优化性能。1)使用JNA或JNI访问Windows注册表;2)通过JNI与Linux特定硬件驱动程序交互;3)通过JNI使用Metal优化macOS上的游戏性能。尽管如此,编写平台特定代码会影响代码的可移植性、增加复杂性、可能带来性能开销和安全风险。

Java将通过云原生应用、多平台部署和跨语言互操作进一步提升平台独立性。1)云原生应用将使用GraalVM和Quarkus提升启动速度。2)Java将扩展到嵌入式设备、移动设备和量子计算机。3)通过GraalVM,Java将与Python、JavaScript等语言无缝集成,增强跨语言互操作性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具