try-catch遇到循环时,将try代码块放在循环内还是循环外的选择

当循环内的代码出现异常,需要结束循环时,将try代码块放在循环外;

当循环内的代码出现异常,需要继续执行循环时,将try代码块放在循环内。

	public static void main(String[] args) {
		int runs = 3; //循环运行次数

		//try代码块在循环外
		try {
			for (int i = 0; i < runs; i++) {
				if (i == 0) {
					throw new RuntimeException("try在循环外时,出现运行异常");
				}
				System.out.println("do something...");
			}
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}

		System.out.println("--------------------------");

		//try代码块在循环内
		for (int i = 0; i < runs; i++) {
			try {
				if (i == 0) {
					throw new RuntimeException("try在循环内时,出现运行异常");
				}
				System.out.println("do something...");
			} catch (Exception e) {
				System.out.println(e.getMessage());
			}
		}
	}

  

原文地址:https://www.cnblogs.com/zengdb/p/8213272.html

时间: 2024-10-08 02:39:48

try-catch遇到循环时,将try代码块放在循环内还是循环外的选择的相关文章

Java类的各种成员初始化顺序如:父子类继承时的静态代码块,普通代码块,静态方法,构造方法,等先后顺

class B extends A ,然后A类也就是父类里面有静态代码块,普通代码块,静态方法,静态成员变量,普通成员变量,普通方法.子类也是这样,然后继承之后,关于程序打印输出的结果.涉及到Java类的各种成员的初始化顺序.经测试,得到如下结论: 1.父类[静态成员]和[静态代码块],按在代码中出现的顺序依次执行.2.子类[静态成员]和[静态代码块],按在代码中出现的顺序依次执行.3.父类的[普通成员变量被普通成员方法赋值]和[普通代码块],按在代码中出现的顺序依次执行.4.执行父类的构造方法

Markdown 代码块中再内嵌一个行内代码

在 jQuery 1.9 之前(不含1.9):如果传入一个空字符串. null 或 jQuery.parseJSON( jsonString ) ,该函数将返回,而不是抛出一个错误,即使它不是有效的 JSON 字符串.

iOS学习之代码块(Block)

代码块(Block) (1)主要作用:将一段代码保存起来,在需要的地方调用即可. (2)全局变量在代码块中的使用: 全局变量可以在代码块中使用,同时也可以被改变,代码片段如下: 1 int local = 1;//注意:全局变量 2 void (^block0)(void) = ^(void){ 3 local ++; 4 NSLog(@"local = %d",local); 5 }; 6 block0(); 7 NSLog(@"外部 local = %d",lo

同步方法、同步代码块、volidate变量的使用

当多个线程涉及到共享数据的时候,就会设计到线程安全的问题.非线程安全其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读".发生脏读,就是取到的数据已经被其他的线程改过了.什么是线程安全呢?用并发编程实战里面的一段话解释说: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的 这里需要注意的是多个线程,如果一个线程肯定是线程安全的,而

HBuilder js 自定义代码块

1 =begin 2 本文档是HBuilder预置的js代码块的文件.注意不要把其他语言的设置放到js里来. 3 如果用户修改此文档,HBuilder升级后会覆盖用户的修改,建议进入菜单 工具→扩展代码块 扩展相应的代码块. 4 若修改本文档,需要重启才能生效.修改过程中注意备份. 5 脚本开源地址 https://github.com/dcloudio/HBuilderRubyBundle 6 1.编辑代码块 7 如果要新增一个代码块,复制如下一段代码到空白行,然后设定参数. 8 snippe

day23--电影院买票问题解决 同步代码块 同步方法 静态同步方法的引入

package cn.itcast_11; /* * A:同步代码块的锁对象是谁呢? *         任意对象. *  * B:同步方法的格式及锁对象问题? *         把同步关键字加在方法上. *  *         同步方法的锁是谁呢? *             this(一个类本身对象就是this) *  * C:静态方法及锁对象问题? *         静态方法的锁对象是谁呢? *             类的字节码文件对象.(反射会讲) */public class

Java中的4种代码块

一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } } 二.构造代码块 直接在类中定义的没有加static关键字的代码

java中的四种代码块

一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } } 二.构造代码块 直接在类中定义的没有加static关键字的代码

Java的4种代码块

一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } } 二.构造代码块 直接在类中定义的没有加static关键字的代码