标签: propagation

如何在java中传播异常

我是一名C程序员,最近刚刚学习了一些java,因为我正在开发一个Android应用程序.目前我处于这种情况.以下是一个.

public Class ClassA{

public ClassA();

public void MyMethod(){

   try{
   //Some code here which can throw exceptions
   }
   catch(ExceptionType1 Excp1){
   //Here I want to show one alert Dialog box for the exception occured for the user.
   //but I am not able to show dialog in this context. So I want to propagate it
   //to the caller of this method.
   }
   catch(ExceptionType2 Excp2){
   //Here I want to show one alert Dialog box for the exception occured for the user.
   //but I …
Run Code Online (Sandbox Code Playgroud)

java exception propagation

10
推荐指数
1
解决办法
2万
查看次数

像C#的计算引擎这样的东西?

是否有任何C#计算引擎可以在值更改时自动重新计算相关字段?

让我自由泳一秒钟,我想象这样的事情..

 Field<double> quantity = Field.Create<double>("Quantity");
 Field<double> unitCost = Field.Create<double>("Unit Cost");
 Field<double> total = Field.Create<double>("Total");

 total.Calculation((q,uc) => q * uc, quantity, value);
      // would have signature something like this:
      // void Calculation<TR,T1,T1>(Func<TR,T1,T2>, Field<T1>, Field<T2>)
Run Code Online (Sandbox Code Playgroud)

这将设置自动传播依赖值的字段.

 quantity.Value = 5.0;
 unitCost.Value = 1.5;
 Assert.That(total.Value, Is.EqualTo(7.5));
Run Code Online (Sandbox Code Playgroud)

显然这是一个简单的例子,最终用途更类似于复杂电子表格的计算.

进一步思考,如果字段/单元格支持更改通知,那将是惊人的.

c# propagation

9
推荐指数
1
解决办法
5532
查看次数

jquery:在可点击的div中保持<a>链接可点击

我想要做的是阻止点击div,如果用户点击该div内的链接.但是没有使用.click(function(){}); 在链接上.

这是代码:

$('div.feature').click(function() { window.location = $(this).attr('rel');});
Run Code Online (Sandbox Code Playgroud)

这是div的示例内容:

<div id="feature" rel="urlnumberone">
some text
<a href="javascript:topicchange(this);" class="insideLink">Link</a>
</div>
Run Code Online (Sandbox Code Playgroud)

由于某些特定原因,我不能使用这样的东西

$('.insideLink').click(function(event){
    event.stopImmediatePropagation();
});
Run Code Online (Sandbox Code Playgroud)

我必须使用这个"topicchange()"函数,有什么方法可以阻止事件传播?

谢谢!

html jquery events propagation clickable

9
推荐指数
1
解决办法
1万
查看次数

具有支持传播的Spring事务

我想了解使用传播支持的Spring事务的用法.java文档提到如果@Transactional(propagation = Propagation.SUPPORTS)从事务中调用的方法支持事务,但如果不存在事务,则该方法是非事务性的.

难道这不是春季交易的行为Propagation.SUPPORTS吗?



public class ServiceBean {

    @Transactional(propagation = Propagation.SUPPORTS)
    public void methodWithSupportsTx() {
        //perform some database operations
    }
}

public class OtherServiceBean {

    @Transactional(propagation = Propagation.REQUIRED)
    public void methodWithRequiredTx() {
        //perform some database operations
        serviceBean.methodWithSupportsTx();
    }
}


在上面的代码示例中,无论是否methodWithSupportsTx()@Transactional(propagation = Propagation.SUPPORTS)注释,它都会在事务中执行,具体取决于是否methodWithRequiredTx()@Transactional注释,对吧?

那么传播级别SUPPORTS的需求/用途是什么?

spring transactions propagation

9
推荐指数
2
解决办法
1万
查看次数

jquery .on容器元素附加到多个选择器

.on()用来将点击事件附加到页面上动态显示的多个元素.我遇到的问题是,当我.on在页面上添加一个容器并想要将click事件附加到容器中的多个元素时,后者会覆盖前一个元素.

<div id="container">
   <!-- elements here appear dynamically -->
   <div id="id1"></div>
   <div id="id1"></div>
</div>

 <script>
   $('#container').on("click", "#id1", function(){});
   $('#container').on("click", "#id2", function(){});
 </script>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,只有id2的click事件有效.

有没有解决的办法?

谢谢,Ev.

jquery onclick addeventlistener propagation

8
推荐指数
1
解决办法
7120
查看次数

jQuery:如何停止Ctrl + A的传播?

我目前正在开发一个依赖于地图(通过Leaflet.js的OpenStreetMap数据)和地图上显示的标记的应用程序.

我为用户实现了选择,因此他可以单击标记来选择它们,然后按住Ctrl键单击以添加标记以供选择.这很好用.

现在,我希望用户能够通过点击选择当前在地图上的所有标记CtrlA.我用来实现这个的代码如下所示:

jQuery(document).keydown(function(e) {
  if (e.ctrlKey) {
    if (e.keyCode == 65 || e.keyCode == 97) { // 'A' or 'a'
      e.stopPropagation();
      // SELECT ALL MARKERS HERE...
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

就触发同时按Ctrl和A键按键而言,这是有效的,选择按照我的意愿完成.

我的问题: 即使我添加了一行来阻止事件的传播,浏览器(在Chrome和Opera上测试)仍然执行常规的Ctrl + A-Selection,即我的标记在地图上通过我的自定义选择实现选择,整个网页被选中.这很烦人:在地图旁边没有可以选择的页面上的文字,所以没有意义 - 我希望CtrlA在我的地图显示时禁用.

PS我尝试使用如何在浏览器中使用jquery禁用Ctrl + A(全选)中显示的代码但是无法让它发挥作用.这个功能真的在API中吗?

jquery events ctrl selection propagation

8
推荐指数
1
解决办法
4299
查看次数

在小部件后面传播点击

我有一个堆栈,里面有两个小部件。我正在尝试检测对堆栈底部小部件的点击,该小部件位于顶部小部件的后面。

我正在使用HitTestBehavior.translucent,但只有在GestureDetector没有任何孩子的情况下它才有效。

这是我的应用程序中所需内容的简化版本。我有一个堆栈,其中包含屏幕上的许多小卡片,并且在它们之上有一张画布。尽管有画布,我仍然需要能够点击卡片来更改其内容。我认为使用半透明行为可以解决我的问题,但事实并非如此。

编辑:另外,第一个GestureDetector总是在Positioned小部件中。

class TestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          height: 800,
          width: 400,
          child: Stack(
            children: [
              /// 2. ... and trigger the onTap function of this widget
              GestureDetector(
                behavior: HitTestBehavior.opaque,
                onTap: () {
                  print('TAP BOTTOM');
                },
                child: Container(
                  height: 500,
                  width: 400,
                  color: Colors.deepOrange,
                ),
              ),
              /// 1. I'm Trying to clic here...
              GestureDetector(
                behavior: HitTestBehavior.translucent,
                onTap: null,
                child: Container( …
Run Code Online (Sandbox Code Playgroud)

canvas propagation gesturedetector dart flutter

8
推荐指数
1
解决办法
5035
查看次数

在最初在异步处理程序中将handleded属性设置为true后,如何重新传播事件?

我试图通过调用运行计时器的bool任务在WPF应用程序中创建具有可变延迟的touch and hold事件处理程序。如果计时器过去,则任务返回true。如果发生其他事件,例如触摸离开或触摸触摸,则任务立即返回false。下面是我的事件处理程序代码:

private static async void Element_PreviewTouchDown(object sender, TouchEventArgs e)
{
    // Set handled to true to avoid clicks
    e.Handled = true;

    var isTouchHold = await TouchHold((FrameworkElement)sender, variableTimespan);
    if (isTouchHold)
        TouchHoldCmd?.Execute(someParam);
    else
    {
        // Here is where I would like to re initiate bubbling up of the event.
        // This doesn't work:
        e.Handled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望它传播事件的原因是,例如,如果用户要平移该元素所属的滚动查看器,并且通过触摸我的元素来开始平移手势,那么我的触摸保持将按预期方式工作, hold命令不会被触发,但是scrollviewer也不会开始平移。

我尝试手动引发该事件,但这似乎也不起作用:

bool firedBySelf;
private static async void Element_PreviewTouchDown(object sender, TouchEventArgs e)
{
    if(firedBySelf) 
    {
        firedBySelf = false;   
        return;
    }

    ... …
Run Code Online (Sandbox Code Playgroud)

c# wpf events asynchronous propagation

7
推荐指数
1
解决办法
201
查看次数

C#空传播 - 魔法在哪里发生?

空传播是一个非常好的功能 - 但实际魔法在哪里以及如何发生?哪里frm?.Close()得到改变if(frm != null) frm.Close();-它是否真正得到改变那种代码呢?

c# null propagation

6
推荐指数
1
解决办法
379
查看次数

隐式虚拟传播的原因是什么?

我只使用C++工作了2~3个月,最近我发现了一个虚函数之后的标识符final.直到今天,我相信虚拟的遗漏将阻止虚拟的传播,但我错了.它含蓄地传播.

我的问题是这个.为什么允许隐式传播?为什么虚拟的存在不能虚拟化而虚拟虚拟使功能不虚拟?在某些情况下是更好的吗?还是它,回到虚拟首次推出的那一天?


克利福德的答案,甚至有是在由于缺少的警告产生一个编译器的虚拟.


为什么在c中隐式传播方法的虚拟性

我期望上面的链接回答我的问题,但事实并非如此.

------------加法-------------

有关于询问此功能是否有用的评论.我认为虚函数的最终关键字是使函数虚拟化的东西.该函数不能再被覆盖,因此派生类必须重新声明一个函数,无论它是否具有相同的名称.如果final与devirtualization不同,请帮助我理解它.如果最终没有区别,那么从最终引入的事实来看,虚拟化的有用性是不言而喻的.我同意强制显式虚拟会产生错误,但我很好奇是否有其他原因.

c++ methods virtual propagation

6
推荐指数
1
解决办法
366
查看次数