当前位置:  编程技术>综合
本页文章导读:
    ▪c++ exception必须知道的东西(2)       C++标准库提供的逻辑异常包括以下内容。    invalid_argument 异常,接收到一个无效的实参,抛出该异常。    out_of_range 异常,收到一个不在预期范围中的实参,则抛出。 &nbs.........
    ▪HTML中Id和Name的区别       HTML中Id和Name的区别 在html中:name指的是用户名称,ID指的是用户注册是系统自动分配给用户的一个序列号。 name是用来提交数据的,提供给表单用,可以重复; id则针对文档操作时候用,.........
    ▪【Android Trick 3】获取网络状态并进入设置      关键字:网络状态,系统设置,系统时间,时间格式化 首先是判断系统的网络状态 /** * 对网络连接状态进行判断 * @return true, 可用; false, 不可用 */ private boolean isOpenNetwork() { ConnectivityMa.........

[1]c++ exception必须知道的东西(2)
    来源: 互联网  发布时间: 2013-11-10

C++标准库提供的逻辑异常包括以下内容。
   invalid_argument 异常,接收到一个无效的实参,抛出该异常。
   out_of_range 异常,收到一个不在预期范围中的实参,则抛出。
   length_error 异常,报告企图产生“长度值超出最大允许值”的对象。
   domain_error 异常,用以报告域错误(domain error)。
C++标准库提供的运行时异常包括以下内容。
   range_error 异常,报告内部计算中的范围错误。
   overflow_error 异常,报告算术溢出错误。
   underflow_error 异常,报告算术下溢错误。
   bad_alloc 异常,当new()操作符不能分配所要求的存储区时,会抛出该异常。它是由基类exception 派生的。
以上前 3 个异常是由runtime_error 类派生的。
例子:
# include<iostream>
# include<vector>
#include<stdexcept>   
using namespace std ;
int main() {
 vector<int> iVec ;
 iVec.push_back(1) ;
 iVec.push_back(2) ;
 iVec.push_back(3) ;
  try{
  cout << iVec.at(5) << endl ;
  }catch(out_of_range err) {
   cout << "êy×é????" << endl ;
  }
  system("pause");
}
综合经典实例:
#include<iostream>
using namespace std;
class Exception {
public :
 Exception(string _msg="") {
  msg = _msg ;
 }
 string getMsg() {
  return msg;
 }
protected:
 string msg ;
};

class PushOnFull:public Exception{
 PushOnFull(string msg=""):Exception(msg){}
};
class PopOnEmpty:public Exception{
public:
  PopOnEmpty(string msg = ""):Exception(msg){
 }
};
class StackException {
public:
 StackException(Exception _e , string _msg ):e(_e),msg(_msg) {  
 }
 Exception getSource(){
  return e ;
 } 
 string getMsg() {
  return msg ;
 }
private:
 Exception e ;
 string msg ;
};
template<class T>
class iStack {
public:
 iStack(int _capacity = 64) {
  capacity = _capacity ;
  data = new T[capacity] ;
  top = 0 ;
 }
 ~iStack() {
  cout <<"~iStack is called ... ... "<< endl ;
  delete[] data ;
 }
 void push(T t) throw(Exception) {
  if (top>=capacity) {
   throw Exception("???úá?") ;
  }
  data[top] = t ;
  top++ ;
 }
 T pop() throw(Exception){
  if (top <= 0 ) {
   throw Exception("???a??") ;
  }
  top--;
  T t = data[top] ;
  return t ;
 }
private:
 T* data ;
 int capacity ;
 int top ;
};
void test() {
 iStack<int> istack(10) ;
 try{
   for(int i = 0 ; i < 20 ; i++ ) {
   istack.push(i) ;
  }
   int p = istack.pop() ;
   cout << p << endl ;
  
 }catch(Exception e) {
  cout <<"2???á?"<< endl ;
  throw StackException(e,"±??a×°á?μ?òì3£") ;
 }
}
void test2() {
 iStack<int> istack(10) ;
 try{
   for(int i = 0 ; i < 20 ; i++ ) {
   istack.push(i) ;
  }
   int p = istack.pop() ;
   cout << p << endl ;
  
 }catch(...) {
  cout <<"?a??ê?±?D?òa?′DDμ?,??DD×ê?′êí???è"<< endl ;
  
 }
}
int main() {
 try{
  test() ;
     test2();
 }catch(StackException se) {
  cout << se.getSource().getMsg()<<"  " << se.getMsg()<< endl ;
 }
 system("pause");
}

 

 

作者:jisuanji2121 发表于2013-1-8 15:46:48 原文链接
阅读:34 评论:0 查看评论

    
[2]HTML中Id和Name的区别
    来源: 互联网  发布时间: 2013-11-10


在html中:name指的是用户名称,ID指的是用户注册是系统自动分配给用户的一个序列号。

name是用来提交数据的,提供给表单用,可以重复;

id则针对文档操作时候用,不能重复。如:document.getElementById();

一、ID是在客户端脚本里用!NAME是用于获取提交表单的某表单域信息,在form里面,如果不指定Name的话,就不会发送到服务器端。

二、以下元素input、select、form、frame、iframe用name,而以下元素table、tr、 td、div、p、span、h1、li用id,表单元素(form input textarea select)与框架元素(iframe frame)用 name,这些元素都与表单(框架元素作用于form的target)提交有关, 在表单的接收页面只接收有name的元素, 赋ID的元素通过表单是接收不到值的.
当然上述元素也可以赋ID值, 赋ID值的时候引用这些元素的方法就要变一下了.
赋 name: document.formName.inputName        document.frames("frameName")
赋 ID    : document.all.inputID                      document.all.frameID
只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID)
body li a table tr td th p div span pre dl dt dd font b 等等

举个简单的例子
<form name="form1">
用户名:<input type=text name="username" id="username">
密码:<input type=password name="password" id="pwd">
</form>
如果我要获得用户名和密码;JS用name获得的话,就得写成document.form1.username.value;
document.form1.password.value;
用id获得:
docuement.getElementById("username");
docuement.getElementById("pwd");
有时候name 可能会出现相同的名字,所以这时候我们用name获得就无法确定获得的是哪个值了。
document.getElemntsByName("username");
这里得到的是一个数组


document.getElementsByName(xxx); 取出的数组
document.getElementById(xxx); 取出是单个对象


还有需要注意的

有些元素 比如 div 可以用 id名字直接得到对象
<div id="div1"></div>
div1.innerHTML = "asdfasdf";

而表单元素 就不可以这样了
只能用 document.getElementById(xx)



作者:lioncode 发表于2013-1-8 15:46:06 原文链接
阅读:38 评论:0 查看评论

    
[3]【Android Trick 3】获取网络状态并进入设置
    来源: 互联网  发布时间: 2013-11-10

关键字:网络状态,系统设置,系统时间,时间格式化

首先是判断系统的网络状态

/**
* 对网络连接状态进行判断
* @return true, 可用; false, 不可用
*/
private boolean isOpenNetwork() {
	ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
	if (connManager.getActiveNetworkInfo() != null) {
		return connManager.getActiveNetworkInfo().isAvailable();
	}

	return false;
}

PS:你肯定要加入网络访问的权限

 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


如果没有网络则进入设置界面

if (isOpenNetwork() == true) {
			
			
} else {
	AlertDialog.Builder builder = new AlertDialog.Builder(
					SomeActivity.this);
	builder.setTitle("title")
			.setMessage("message");
	builder.setPositiveButton(resources.getString(R.string.ok),
		new DialogInterface.OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			Intent intent = null;

			try {
				String sdkVersion = android.os.Build.VERSION.SDK;
				if (Integer.valueOf(sdkVersion) > 10) {
					intent = new Intent(
					android.provider.Settings.ACTION_SETTINGS);
				} else {
					intent = new Intent();
					ComponentName comp = new ComponentName(
						"com.android.settings",
						"com.android.settings.Settings");
					intent.setComponent(comp);
					intent.setAction("android.intent.action.VIEW");
				}
					SomeActivity.this.startActivity(intent);
			} catch (Exception e) {
				Log.v("LOG","open network settings failed, please check...");
				e.printStackTrace();
				}
			}
		})
		.setNegativeButton(resources.getString(R.string.no),
			new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog,int which) {
				dialog.cancel();
				finish();
			}
		}).show();
}
这里再引申一下,通过android.provider.Settings可以获取很多我们需要的和系统设置相关的信息,比如系统时间是24还是12制

ContentResolver cv = this.getContentResolver();  
       String strTimeFormat = android.provider.Settings.System.getString(cv,  
                                          android.provider.Settings.System.TIME_12_24);        
       if(strTimeFormat.equals("24"))  
      {  
              Log.i("activity","24");  
       } 

额。。这篇博客写得比较杂,那就把时间格式化,获取系统时间也补上吧

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");  //参数为你想要显示的时间格式   
String date=sdf.format(new java.util.Date()); 

利用Calendar获取

Calendar c = Calendar.getInstance();  
取得系统日期:year = c.get(Calendar.YEAR)  
               month = c.grt(Calendar.MONTH)  
               day = c.get(Calendar.DAY_OF_MONTH)  
取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);  
                  minute = c.get(Calendar.MINUTE)  
                    Calendar c = Calendar.getInstance();  
取得系统日期:year = c.get(Calendar.YEAR)  
                   month = c.grt(Calendar.MONTH)  
                   day = c.get(Calendar.DAY_OF_MONTH)  
取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);  
                     minute = c.get(Calendar.MINUTE)  

利用Time获取

Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。  
t.setToNow(); // 取得系统时间。  
int year = t.year;  
int month = t.month;  
int date = t.monthDay;  
int hour = t.hour; // 0-23  
int minute = t.minute;  
int second = t.second; 


作者:dengbodb 发表于2013-1-8 15:37:36 原文链接
阅读:42 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3