抓住可怜的行为是不好的做法吗?(Is it a bad practice to catch Throwable?)
抓住
Throwable
行为是不好的做法吗?例如:
try { // Some code } catch(Throwable e) { // handle the exception }
这是不好的做法还是应该尽可能具体?
Is it a bad practice to catch
Throwable
?For example something like this:
try { // Some code } catch(Throwable e) { // handle the exception }
Is this a bad practice or we should be as specific as possible?
原文:https://stackoverflow.com/questions/6083248
更新时间:2023-05-10 11:05
最满意答案
你只能间接做到这一点。 (据我所知)
- 创建一个您的窗体(或控件)大小的位图
- 创建一个Graphics对象,绘制到该位图(Pixelformat 32bppArgb)'Graphics.FromImage(...)
- 用透明色清除位图
- 将所有内容都绘制成该图片
- 绘制/填充应该排除透明颜色的矩形
- 将位图绘制到窗体(或控件)
谨防为图形对象使用正确的ComposingMode。 对于绘制到位图使用SourceCopy(否则该区域将不会完全透明)和SourceOver将位图绘制到您的窗体(或控件)。
You can only do that indirectly. (afaik)
- Create a bitmap of the size of your form (or control)
- Create a Graphics object, that draws to that bitmap (Pixelformat 32bppArgb) ' Graphics.FromImage(...)
- Clear the bitmap with transparent color
- Draw everything into that picture
- Draw / Fill the rectangle that should be excluded with transparent color
- Draw the bitmap to your form (or control)
Beware to use the right ComposingMode for your graphics objects. For drawing to the bitmap use SourceCopy (otherwise the area will not be completely transparent) and SourceOver for drawing the bitmap to your form (or control).
相关问答
更多-
你只能间接做到这一点。 (据我所知) 创建一个您的窗体(或控件)大小的位图 创建一个Graphics对象,绘制到该位图(Pixelformat 32bppArgb)'Graphics.FromImage(...) 用透明色清除位图 将所有内容都绘制成该图片 绘制/填充应该排除透明颜色的矩形 将位图绘制到窗体(或控件) 谨防为图形对象使用正确的ComposingMode。 对于绘制到位图使用SourceCopy(否则该区域将不会完全透明)和SourceOver将位图绘制到您的窗体(或控件)。 You can ...
-
在Windows 8中移动和调整画布内的矩形大小[关闭](Moving and resizing the Rectangle inside the Canvas In Windows 8 [closed])[2022-06-21]
听起来像你试图允许两个不同的操作使用相同的手势(在表面上移动的单点接触)。 这个行为对我来说听起来就像你想要拖动它右边最左边的矩形水平调整大小并在你拖动其他任何地方时在画布上移动(如果这是错误的话请纠正我)。 我认为你会想要使用Scale手势来调整大小,并使用Translate手势来进行移动。 在过去,我使用UIElement.ManipulationMode处理适当的操作事件(例如ManipulationStarted,ManipulationCompleted等)。 我也看到过一些使用GestureRe ... -
绘制系统焦点矩形c#(Draw system focus rectangle c#)[2023-02-15]
我使用Panel作为ListViewItem来处理并在此面板上绘图以演示应该做什么,它看起来几乎像在Windows 7中使用的ListView中的焦点条目。 private void panel1_Paint(object sender, PaintEventArgs e) { using (System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.Lin ... -
在WPF Windows中以不同状态显示或隐藏矩形问题(Show or Hide issue in rectangle on different state in WPF Windows)[2022-01-17]
尝试使用调试模式检入不同的监视器。 如果你有解决问题,那么你可以在大屏幕模式下找到它的调试模式。 Try to check in different monitors with debugging mode. If you have resolution problem in this, then you can find it debugging mode in big screen mode. -
使用HTML5画布绘制矩形,就像在Windows中绘制程序一样(Draw Rectangle with HTML5 canvas like painting program in windows)[2023-04-12]
您需要保存以前的图纸或使用2幅画布。 如果你想保存以前的图纸...... 在mousedown: 保存鼠标位置(startX / startY)。 设置一个标志,指示拖动已开始(isDown = true) 在mousemove中: if isDown == false,不要做任何事情(返回) 否则,清除画布 重绘所有以前的图纸(从保存的点数组等) 从开始到鼠标位置绘制当前rect - context.strokeRect(startX,startY,mouseX-startX,mouseY-startY) ... -
涂漆形式上的透明控件(Transparent controls on painted form)[2023-10-17]
看看这篇文章。 编辑: 您也可以使用此代码: public class TransparentLabel : Control { public TransparentLabel(Label label) { //setting default properties this.Text = label.Text; this.Font = label.Font; this.Location = label.Location; ... -
问题是因为设置了BevelKind:=bkFlat; 在绘制控件的非客户区域时调用TWinControl.WMNCPaint时,这将覆盖滚动条。 作为一个快速的解决方法,您可以将WMNCPaint添加到您的控件并将Region更改为1. Delphi将重新绘制整个非客户区域,这样可以更好地工作。 procedure WMNCPaint(var Message: TWMNCPaint); message WM_NCPAINT; procedure TSuperList.WMNCPaint(var Messa ...
-
我最终使用了Hans在上面的评论中提出的“掩码”解决方案,并做了一些改进: Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms Public NotInheritable Class RectangleDrawer Private Sub New() End Sub Public Shared Function Draw(parent As Form) As R ...
-
自定义矩形在Corners Windows Phone 7上有圆圈(Custom Rectangle having circles on Corners windows phone 7)[2023-10-08]
您可以创建一个表示此形状的UserControl 。 在UserControl放置一个Grid ,并在其中放置一个Rectangle和四个Circles 。 例如:更新矩形列表(Updating a rectangle list)[2023-07-30]
你可以这样做: Rectangle temp = RectList[0]; temp.Width = 100; temp.Height = 100; temp.X = 0; temp.Y=0; RectList[0] = temp; You can do this: Rectangle temp = RectList[0]; temp.Width = 100; temp.Height = 100; temp.X = 0; temp.Y=0; RectList[0] = temp;相关文章
更多- Hadoop in Practice
- : bad interpreter: 没有那个文件或目录
- try catch都不能拦击异常吗
- [转]So You Want To Be A Producer
- shell 脚本执行,出现错误bad interpreter: No such file or directory
- Drupal Forums instead of phpBB or vBulletin: A casestudy
- Becoming a data scientist
- Java try/catch 异常处理的问题
- Book Report: THE SOUL OF A NEW MACHINE
- Solr: a custom Search RequestHandler
最新问答
更多- 如何使用自由职业者帐户登录我的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)