首页 \ 问答 \ 在这个例子中最好抛出异常的地方?(Where best to throw exception in this example?)

在这个例子中最好抛出异常的地方?(Where best to throw exception in this example?)

在我正在编写的库中,我有一些方法只能在很少的时间内执行。 当我对车辆进行建模时,其中一种(例外)方法是破解引擎,这种情况非常罕见。 我应该在这种方法中抛出异常吗? 这将阻止车辆使用。

我阅读了.NET设计框架指南一书,它指出只有在方法无法完成执行时才会发生异常。 实际的引擎破解方法将始终完成,但是如果我的一个方法,例如启动引擎(此方法将存储引擎启动的数量作为累积引擎压力的方法)被调用并导致调用破解引擎,在哪里(如果有的话)我应该抛出异常?


In a library I am writing, I have some methods which would only be executed very rarely and on the fly. As I am modelling a vehicle, one of the (Exceptional) methods is a cracked engine, which would be very rare. Should I throw an exception in this method? This will stop a vehicle from being usable.

I read the .NET Design Framework Guidelines book and it states that an exception should only occur when a method cannot complete execution. The actual engine cracked method will always complete, but if one of my methods, such as start engine (this method will store the amount of engine starts as a means of accruing stress to the engine), is called and results in a call to cracked engine, where (if anywhere) should I throw an exception?


原文:https://stackoverflow.com/questions/4491623
更新时间:2023-10-19 17:10

最满意答案

这里是你的数组和循环的代码:

function Transfer() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s1 = ss.getSheetByName('Monday-Saturday');
  var s2 = ss.getSheetByName('2ndTrailer');

  var data1 = s1.getRange(5, 3, 18, 2).getValues();
  var data2 = s2.getRange(3, 2, 18, 2).getValues();
  var newData = [];

  for(var i = 0 ; i < data1.length; i++){

    var newValueC = data1[i][0] + data2[i][1];
    var newValueD = data1[i][1] + data2[i][1];

    newData.push([newValueC, newValueD]);

  }

  s1.getRange(5, 3, 18, 2).setValues(newData);

  s2.getRange('A2').clearContent();
  s1.getRange('A23').setValue('YES');

}

有点难看,但应该做的伎俩。

编辑:做了一些更改,因为range.setValue()方法导致问题


Here is your code with arrays and loop :

function Transfer() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s1 = ss.getSheetByName('Monday-Saturday');
  var s2 = ss.getSheetByName('2ndTrailer');

  var data1 = s1.getRange(5, 3, 18, 2).getValues();
  var data2 = s2.getRange(3, 2, 18, 2).getValues();
  var newData = [];

  for(var i = 0 ; i < data1.length; i++){

    var newValueC = data1[i][0] + data2[i][1];
    var newValueD = data1[i][1] + data2[i][1];

    newData.push([newValueC, newValueD]);

  }

  s1.getRange(5, 3, 18, 2).setValues(newData);

  s2.getRange('A2').clearContent();
  s1.getRange('A23').setValue('YES');

}

A bit ugly, but should do the trick.

Edit: Made a few changes, since the range.setValue() method causing problems

相关问答

更多

相关文章

更多

最新问答

更多
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • 电脑高中毕业学习去哪里培训
  • 电脑系统专业就业状况如何啊?
  • IEnumerable linq表达式(IEnumerable linq expressions)
  • 如何在Spring测试中连接依赖关系(How to wire dependencies in Spring tests)
  • Solr可以在没有Lucene的情况下运行吗?(Can Solr run without Lucene?)
  • 如何保证Task在当前线程上同步运行?(How to guarantee that a Task runs synchronously on the current thread?)
  • 在保持每列的类的同时向数据框添加行(Adding row to data frame while maintaining the class of each column)
  • 的?(The ? marks in emacs/haskell and ghc mode)
  • 一个线程可以调用SuspendThread传递自己的线程ID吗?(Can a thread call SuspendThread passing its own thread ID?)
  • 延迟socket.io响应,并“警告 - websocket连接无效”(Delayed socket.io response, and “warn - websocket connection invalid”)
  • 悬停时的图像转换(Image transition on hover)
  • IIS 7.5仅显示homecontroller(IIS 7.5 only shows homecontroller)
  • 没有JavaScript的复选框“关闭”值(Checkbox 'off' value without JavaScript)
  • java分布式框架有哪些
  • Python:填写表单并点击按钮确认[关闭](Python: fill out a form and confirm with a button click [closed])
  • PHP将文件链接到根文件目录(PHP Linking Files to Root File Directory)
  • 我如何删除ListView中的项目?(How I can remove a item in my ListView?)
  • 您是否必须为TFS(云)中的每个BUG创建一个TASK以跟踪时间?(Do you have to create a TASK for every BUG in TFS (Cloud) to track time?)
  • typoscript TMENU ATagParams小写(typoscript TMENU ATagParams lowercase)
  • 武陟会计培训类的学校哪个好点?
  • 从链接中删除文本修饰(Remove text decoration from links)